Você pode fazer isso em um storyboard usando propriedades definidas pelo usuário. Selecione a vista que deseja arredondar e abra seu Inspetor de identidade. Na seção Atributos de tempo de execução definidos pelo usuário , adicione as duas entradas a seguir:
- Caminho da chave:,
layer.cornerRadiusTipo: Número, Valor: (qualquer raio que você desejar)
- Caminho da chave:,
layer.masksToBoundsTipo: Booleano, Valor: verificado
Você pode ter que importar QuartzKitno arquivo de classe correspondente da sua visão (se houver), mas eu juro que fiz funcionar sem fazer isso. Seus resultados podem variar.
EDIT: Exemplo de raio dinâmico
extension UIView {
/// The ratio (from 0.0 to 1.0, inclusive) of the view's corner radius
/// to its width. For example, a 50% radius would be specified with
/// `cornerRadiusRatio = 0.5`.
@IBDesignable public var cornerRadiusRatio: CGFloat {
get {
return layer.cornerRadius / frame.width
}
set {
// Make sure that it's between 0.0 and 1.0. If not, restrict it
// to that range.
let normalizedRatio = max(0.0, min(1.0, newValue))
layer.cornerRadius = frame.width * normalizedRatio
}
}
}
Verifiquei que isso funciona em um playground.