Je suis actuellement en train de regarder un UILabel avec la propriété addMessageLabel.layer.cornerRadius = 5.0f;
Sur un appareil sur lequel iOS 7.0 est installé, ses coins sont arrondis. Sur un appareil sur lequel iOS 7.1 est installé, les coins ne sont pas arrondis.
Est-ce juste un bug avec iOS 7.1?
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 "Clip Subviews" est coché:
Vérifier "Clip Subviews" est égal au code addMessageLabel.clipsToBounds = YES;
.
Ajoutez les deux lignes ci-dessous et vérifiez-le.
[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];
OR
[addMessageLabel setClipsToBounds:YES];
Mon problème était un peu différent.
Alors que je faisais faire btn.clipsToBounds = true
Je ne me préparais pas
btn.layer.cornerRadius = 20
Parce que j'avais différentes tailles d'écran. Au lieu de cela, j'ai suivi this répondre et j'ai:
override func layoutSubviews() {
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
Cela ne fonctionnait pas parce que j'avais 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é le ci-dessous et j'ai eu une sortie réussie.
yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];
Y a-t-il autre chose qui vous en empêche?
//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.