Y a-t-il un moyen pour UILabel de dessiner une bordure autour de lui? Ceci est utile pour moi pour déboguer le placement du texte et pour voir le placement et la taille réelle de l'étiquette.
140
Vous pouvez définir la bordure de l'étiquette via sa propriété CALayer sous-jacente:
#import <QuartzCore/QuartzCore.h>
myLabel.layer.borderColor = [UIColor greenColor].CGColor
myLabel.layer.borderWidth = 3.0
Swift 5:
myLabel.layer.borderColor = UIColor.darkGray.cgColor
myLabel.layer.borderWidth = 3.0
#import <QuartzCore/QuartzCore.h>
myLabel.layer.borderColor = UIColor.greenColor().CGColor
Voici certaines choses que vous pouvez faire avec
UILabel
ses limites.Voici le code de ces étiquettes:
Notez que dans Swift, il n'est pas nécessaire d'importer
QuartzCore
.Voir également
CALayer
masksToBounds
CALayer
la source
Version Swift:
Pour Swift 3:
la source
myLabel.layer.borderColor = UIColor.blackColor().CGColor!
Swift 3/4 avec @IBDesignable
Bien que presque toutes les solutions ci-dessus fonctionnent bien, je suggérerais une
@IBDesignable
classe personnalisée pour cela.la source
Vous pouvez utiliser ce dépôt : GSBorderLabel
C'est assez simple:
la source
Propriétés UILabel borderColor, borderWidth, cornerRadius dans Swift 4
la source
Solution pour Swift 4:
yourLabel.layer.borderColor = UIColor.green.cgColor
la source
cela dépend vraiment du nombre de pensionnaires utilisés dans votre vue, parfois, ajoutez simplement un UIVIEW dont la taille est un peu plus grande pour créer la bordure. la méthode est plus rapide que de produire une vue
la source
L'utilisation d'une chaîne NSAttributedString pour vos étiquettes attribuéesText est probablement votre meilleur choix. Regardez cet exemple.
la source