2017-06-27 3 views
1

J'ai créé un NSAttributedString de cette manièreNSAttributedText changements de taille de police en fonction de la largeur UILabel

attribute3=[ 
      NSForegroundColorAttributeName: innercircleColor, 
      NSFontAttributeName:UIFont.init(name: "Bariol", size: 18.0)!] 

attriType=NSAttributedString.init(string: type, attributes: attribute3) 
lblType.setAttributedText(attriType) 

Mais selon ma UILabel taille, dans iPhone 5s ce texte attribué vient en dehors du UILabel. Comment puis-je faire correspondre la taille de police du texte attribué à la UILabel largeur

+0

https://stackoverflow.com/questions/21290234/nsattributedstring-ignores-autoshrink-and-numberoflines-for-uilabel-ios-6? – Larme

Répondre

0

Ce que vous voulez est la propriété adjustsFontSizeToFitWidth sur le UILabel. Il va automatiquement dimensionner le Font pour s'adapter au cadre.

Vous pouvez également définir le nombre de lignes à utiliser pour définir le texte à l'aide de la propriété numberOfLines ainsi que la taille minimale à laquelle la police doit évoluer pour utiliser la propriété minimumFontSize.

https://developer.apple.com/documentation/uikit/uilabel/1620546-adjustsfontsizetofitwidth

+0

Est-ce que cela fonctionne pour atteibutedText? – user1960169

+0

Je ne suis pas sûr que je n'ai pas testé avec le texte attribué. Cela devrait. Sinon, pourquoi ne pas simplement définir la propriété de police directement sur UILabel puisque la taille de la police est maintenant gérée automatiquement? –