NSAttributedString - obtient les attributs de police
J'ai besoin pour obtenir plus de renseignements sur mon attribué chaîne, mais ne peut pas comprendre comment. Je reçois ce dictionnaire:
2013-11-04 18:06:10.628 App[1895:60b] {
NSColor = "UIDeviceWhiteColorSpace 0.3 1";
NSFont = "<UICTFont: 0x17d8d4c0> font-family: \".HelveticaNeueInterface-MediumP4\"; font-weight: bold; font-style: normal; font-size: 17.00pt";
NSUnderline = 0;
}
Il est facile de vérifier le souligner avec:
[attrs objectForKey:@"NSUnderline"]
Mais comment obtenir des informations à propos de la police, comme le font-style, font-weight, etc.
Merci pour toute aide
source d'informationauteur adam
Vous devez vous connecter pour publier un commentaire.
Vous obtenez la police à partir de:
La question est de déterminer s'il est gras ou pas. Il n'y a pas de propriété. La seule option est de chercher à le
fontName
de la police et voir si elle contient un "Gras" ou un autre terme semblable. Pas toutes les polices en gras ont "Gras" dans le nom.Le même problème s'applique pour la détermination de la police est en italique ou remarque. Vous avez à regarder les
fontName
et chercher des choses comme "Italique" ou "Oblique".UIFont
a fontDescriptor de départ iOS7 de sorte que vous pouvez essayer..Utilisation:
Similaire à
UIFontDescriptorSizeAttribute
vous pouvez trouver d'autres traits de caractère commeUIFontDescriptorFaceAttribute
UIFontDescriptorNameAttribute
etc comme mentionné dans la documentation.Vous pouvez voir comment obtenir des informations sur votre attribué chaîne dans cet exemple qui vérifie si une sous-chaîne de la attributedText de l'étiquette est en GRAS.
Une mise à jour iOS 10.0 swift 3.0 et le code Ashok solution est devenue quelque chose le long de ces lignes.