ios swift: Est-il possible de changer le style de police d'un certain mot dans une chaîne de caractères?
Je suis extraction à partir d'une base de contenus comme des chaînes de caractères. Avec une méthode que j'ai extrait le mot le plus long de cette chaîne.
Maintenant, je voudrais imprimer l'ensemble de la chaîne de texte de l'étiquette, mais tiens à souligner le mot le plus long dans une couleur différente et de style de texte à l'intérieur de la chaîne.
Comment puis-je le faire?
Ai-je besoin de couper la chaîne en morceaux - définir la mise en forme et de les mettre tous ensemble encore une fois avant de la donner à l'étiquette?
Ou est-il de toute autre façon (meilleure)?
- Double Possible de Exemple de NSAttributedString avec deux tailles de police différentes?
Vous devez vous connecter pour publier un commentaire.
Si vous connaissez déjà le mot le plus long que vous avez pour obtenir la gamme de ce mot dans la chaîne. Je préfère le NSString méthode
rangeOfString:
pour cela.Ensuite, vous créez un
NSMutableAttributedString
de la chaîne, avec vos attributs par défaut. Enfin, vous appliquez mettant en évidence les attributs de la plage que vous avez trouvé plus tôt.Qui ressemble à ça dans mon terrain de jeu:
Vous voulez regarder Attribué Cordes et NSRange. Vous pouvez utiliser ces deux ensemble pour créer des styles différents pour les plages dans la chaîne. Voici un extrait:
NSDictionary
des attributs et ajoutez-les tous à la fois. Beaucoup plus propre que de les ajouter un par un 🙂NSMutableAttributedString.
Vous créer un
NSMutableAttributedString
et appliquer les effets que vous souhaitez avecaddAttributes:range
.À l'attribuer à la
attributedText
propriété de votreUILabel
.