2017-09-07 5 views
-1

Je crée un UILabel par programme. Mais le code ci-dessous ne me donne pas de coins arrondis. Je pense que je rate quelque chose de très basique.Coins arrondis de UILabel swift

var textLabel:UILabel? = UILabel() 
textLabel?.text = text 
textLabel?.frame = CGRect(x:point.x, y:point.y, width:(textLabel?.intrinsicContentSize.width)!, height:15) 
textLabel?.backgroundColor = UIColor.white 
textLabel?.font = UIFont(name:"OpenSans", size:8) 
textLabel?.sizeToFit() 
textLabel?.layer.cornerRadius = 20.0 

Quelqu'un peut-il me diriger dans la bonne direction?

+5

double possible de [Comment puis-je faire un UIImage/-Vue avec des coins arrondis CGRect (Swift)] (https://stackoverflow.com/questions/25476139/how-do-i-make -an-uiimage-vue-avec-arrondi-coins-cgrect-swift) –

Répondre

6

Je pense que vous devez définir maskToBounds pour Textlabel. essayez ceci:

textLabel?.layer.masksToBounds = true 
1

mis masksToBounds pour votre étiquette

masksToBounds agissent comme booléenne indiquant si les sous-couches sont tronquées aux limites de la couche.

textLabel?.layer.cornerRadius = 20.0 
textLabel?.layer.masksToBounds = true 

se réfèrent pomme documents.

0

essayez ceci:

yourLabel.layer.cornerRadius = 8.0 
yourLabel.layer.masksToBounds = true 
yourLabel.layer.borderColor = UIColor.white.cgColor 
yourLabel.layer.borderWidth = 1.0 

cela devrait vous donner les bordures arrondies

La clé est la propriété « maskToBounds » qui est une valeur booléenne indiquant si les sous-couches sont tronquées aux limites de la couche.

2

essayez ceci: -

textLabel?.layer.cornerRadius = textLabel?.frame.size.height/2.0 

textLabel?.layer.masksToBounds = true 

si vous souhaitez définir la couleur de bordure puis: -

textLabel?.layer.borderColor = .red.cgColor 
    textLabel?.layer.borderWidth = 1.0 
+0

le questionneur déjà mentionné la taille 'layer.cornerRadius = 20.0' –

+0

c'est pour quand vous voulez des coins précis puis utilisez ceci. Si la taille est plus grande que la hauteur, elle ne sera pas redimensionnée en parfait état. ou vous pouvez utiliser la valeur constante selon vos besoins. – Pushpendra