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.cornerRadius
Tipo: Número, Valor: (qualquer raio que você desejar)
- Caminho da chave:,
layer.masksToBounds
Tipo: Booleano, Valor: verificado
Você pode ter que importar QuartzKit
no 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.