Réponses:
Définissez la propriété clipsToBounds
sur true
addMessageLabel.clipsToBounds = true
Je pense que la meilleure façon de définir le rayon de coin est:
et assurez-vous que la case "Sous-vues du clip" est cochée:
La vérification de «Sous-vues de clip» équivaut au code addMessageLabel.clipsToBounds = YES;
.
Essayez les solutions suivantes,
[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];
//or
[addMessageLabel setClipsToBounds:YES];
Rapide
addMessageLable.layer.cornerRadius = 5.0
addMessageLable.layer.masksToBounds = true
//or
addMessageLable.layer.clipsToBounds = true
Mon problème était un peu différent.
Alors que je l' ai fait btn.clipsToBounds = true
Je n'étais pas en train de faire:
btn.layer.cornerRadius = 20
Parce que j'avais des tailles d'écran différentes. Au lieu de cela, j'ai suivi cette réponse et j'ai fait:
override func layoutSubviews() {
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
Cela ne fonctionnait pas parce que j'ai oublié d'ajouter super.layoutSubviews()
. Le code correct est:
override func layoutSubviews() {
super.layoutSubviews()
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
J'ai essayé celui ci-dessous et j'ai obtenu une sortie réussie.
yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];
Y a-t-il autre chose qui vous arrête?
clipsToBounds
était par défaut YES
, donc la ligne [yourlabelname setClipsToBounds:YES];
n'était pas dans mon code d'origine.
//works perfect in Swift 2.0 for a circular or round image
@IBOutlet var theImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
//Make sure the width and height are same
self.theImage.layer.cornerRadius = self.theImage.frame.size.width / 2
self.theImage.layer.borderWidth = 2.0
self.theImage.layer.borderColor = UIColor.whiteColor().CGColor
self.theImage.clipsToBounds = true
}
yourlabelname.layer.cornerRadius = yourlabelname.frame.size.width/2;
[yourlabelname setClipsToBounds:YES];
Assurez-vous de vérifier avec la cible de déploiement appropriée.
Ajoutez le code suivant comme extension pour UIView
//// Story board Extra Feature for create border radius, border width and border Color
extension UIView {
/// corner radius
@IBInspectable var borderColor: UIColor? {
set {
layer.borderColor = newValue!.cgColor
}
get {
if let color = layer.borderColor {
return UIColor(cgColor: color)
} else {
return nil
}
}
}
@IBInspectable var borderWidth: CGFloat {
set {
layer.borderWidth = newValue
}
get {
return layer.borderWidth
}
}
@IBInspectable var cornerRadius: CGFloat {
set {
layer.cornerRadius = newValue
clipsToBounds = newValue > 0
}
get {
return layer.cornerRadius
}
}
}
Après cela, vous obtiendrez les attributs suivants dans le générateur d'interface lui-même.!