Comment créer un bouton UIB avec des coins arrondis lisses? Les coins arrondis standard Apple sont beaucoup plus agréables que les coins arrondis standard. Si je crée un bouton dans l'esquisse, je peux basculer les "coins lisses" qui basculent les coins d'une forme de Apple coins arrondis (lisses) aux coins arrondis standard.
Voici une comparaison:
Comment puis-je basculer cela rapidement?
showContentButton.layer.cornerRadius = 20
arrondit les coins, cependant, je ne sais pas vraiment si ces coins arrondis sont des "coins lisses" ou des "coins arrondis standard". Et je ne sais pas comment basculer cela. Des idées?
Pour obtenir cet effet, vous pouvez utiliser UIBezierPath
Modifier: Utilisation dans UIView
class MyView: UIView {
let myButton UIButton = UIButton()
override func layoutSubviews() {
super.layoutSubviews()
// your roundPath code here
}
}
Édition 2:
Utilisez cette approche pour arrondir des coins spécifiques:
let roundPath = UIBezierPath(
roundedRect: bounds,
byRoundingCorners: [.topLeft, .topRight],
cornerRadii: CGSize(width: 10, height: 10)
)
Utilisez simplement cette extension
extension CALayer {
func roundCorners(radius: CGFloat) {
let roundPath = UIBezierPath(
roundedRect: self.bounds,
cornerRadius: radius)
let maskLayer = CAShapeLayer()
maskLayer.path = roundPath.cgPath
self.mask = maskLayer
}
}
et l'utiliser comme ça
cell.layer.roundCorners(radius: 18)