Rápido
Resposta curta:
myView.layer.cornerRadius = 8
myView.layer.masksToBounds = true // optional
Resposta complementar
Se você chegou a esta resposta, provavelmente já viu o suficiente para resolver seu problema. Estou adicionando esta resposta para dar uma explicação visual mais detalhada de por que as coisas fazem o que fazem.
Se você começar com um regular, UIView
ele tem cantos quadrados.
let blueView = UIView()
blueView.frame = CGRect(x: 100, y: 100, width: 100, height: 50)
blueView.backgroundColor = UIColor.blueColor()
view.addSubview(blueView)
![insira a descrição da imagem aqui](https://i.stack.imgur.com/4Z0yJ.png)
Você pode arredondá-lo alterando a cornerRadius
propriedade da exibição layer
.
blueView.layer.cornerRadius = 8
![insira a descrição da imagem aqui](https://i.stack.imgur.com/2Y5yX.png)
Valores de raio maiores fornecem mais cantos arredondados
blueView.layer.cornerRadius = 25
![insira a descrição da imagem aqui](https://i.stack.imgur.com/fkz2q.png)
e valores menores fornecem menos cantos arredondados.
blueView.layer.cornerRadius = 3
![insira a descrição da imagem aqui](https://i.stack.imgur.com/MEKeQ.png)
Isso pode ser suficiente para resolver seu problema ali mesmo. No entanto, às vezes uma exibição pode ter uma subvisão ou uma subcamada que fica fora dos limites da exibição. Por exemplo, se eu fosse para adicionar uma sub vista como esta
let mySubView = UIView()
mySubView.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
mySubView.backgroundColor = UIColor.redColor()
blueView.addSubview(mySubView)
ou se eu adicionasse uma sub- camada como esta
let mySubLayer = CALayer()
mySubLayer.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
mySubLayer.backgroundColor = UIColor.redColor().CGColor
blueView.layer.addSublayer(mySubLayer)
Então eu terminaria com
![insira a descrição da imagem aqui](https://i.stack.imgur.com/E3KMQ.png)
Agora, se eu não quiser coisas penduradas fora dos limites, posso fazer isso
blueView.clipsToBounds = true
ou isto
blueView.layer.masksToBounds = true
o que dá esse resultado:
![insira a descrição da imagem aqui](https://i.stack.imgur.com/XyQFG.png)
Ambos clipsToBounds
e masksToBounds
são equivalentes . É apenas que o primeiro é usado com UIView
e o segundo é usado com CALayer
.
Veja também