Oui, beaucoup de gens parlent de Rich Text sur iPhone / iPad et beaucoup connaissent NSAttributedString
.
Mais comment utiliser NSAttributedString
? J'ai cherché pendant beaucoup de temps, aucun indice d'extrait pour cela.
Je sais comment mettre en place un NSAttributedString
, alors que dois-je faire pour afficher un texte sur iPhone / iPad avec du texte enrichi?
La documentation officielle indique qu'il devrait être utilisé avec CoreText.Framework
, qu'est-ce que cela signifie?
Existe-t-il un moyen simple comme celui-ci?
NSAttributedString *str;
.....
UILabel *label;
label.attributedString = str;
Réponses:
Vous devriez jeter un oeil à OHAttributedLabel d'AliSoftware . Il s'agit d'une sous-classe de UILabel qui dessine un NSAttributedString et fournit également des méthodes pratiques pour définir les attributs d'un NSAttributedString à partir des classes UIKit.
À partir de l'exemple fourni dans le repo:
Remarque: dans iOS 6+, vous pouvez rendre les chaînes attribuées à l'aide de la propriété AttributeText d'UILabel.
la source
À partir d'iOS 6.0, vous pouvez le faire comme ça:
la source
Vous devriez essayer TTTAttributedLabel . Il s'agit d'un remplacement de UILabel qui fonctionne avec NSAttributedString et est suffisamment performant pour UITableViewCells.
la source
Presque. Utilisez simplement un CATextLayer. Il a un
string
propriété que vous pouvez définir sur NSAttributedString.EDIT (novembre 2012): Bien sûr, tout cela a changé dans iOS 6. Dans iOS 6, vous pouvez faire exactement ce que l'OP a demandé - attribuer une chaîne attribuée directement à une étiquette
attributedText
.la source
Réponse pour l'alignement de texte attribué par UILabel sur iOS 6: utilisez NSMutableAttributedString et ajoutez NSMutableParagraphStyle à l'attribut. Quelque chose comme ça:
la source
J'ai pensé qu'il serait utile de donner un exemple d'analyse d'une chaîne HTML (simplifiée), pour créer un NSAttributedString.
Ce n'est pas complet - il ne gère que les balises <b> et <i>, pour commencer, et ne se soucie pas de la gestion des erreurs - mais c'est aussi, espérons-le, un exemple utile de la façon de démarrer avec NSXMLParserDelegate ...
Pour l'utiliser, faites quelque chose comme ceci:
la source
À partir d'iOS 6.0, vous pouvez le faire comme ça: un autre exemple de code.
la source
Pour Swift, utilisez ceci,
Cela rendra les textes Titl gras,
la source
Je sais qu'il est un peu tard, mais ce sera utile aux autres,
Ajoutez l'attribut souhaité au dictionnaire et transmettez-le en tant que paramètre d'attributs
la source