NSAttributedString l'insertion d'une puce?
J'ai donc une NSAttributedString
je veux insérer un bullet point
au début d'une partie du texte. Comment puis-je faire cela? Comment puis-je créer un CTPAragraphStyle
qui crée ce point lorsque j'affiche le texte?
Edit:
Devrait être disponible sur iOS
Vous devez vous connecter pour publier un commentaire.
Le plus difficile restait à faire: [mutableAttributedString insertAttributedString: @"•\t" atIndex:0];
La dure peu. Quelque chose le long des lignes suivantes. (C'est extrait d'un projet de plus grande envergure, mais il peut vous donner un début décent.)
Vous devez inclure le CoreText cadre et de l'importer ensuite CoreText/CoreText.h
tabStops
etstyle
jusqu'à ce que l'attribuée chaîne qui les utilise est libéré. Dans mon projet, j'ai eu à propertize tous la propriété de style de composants pour l'empêcher de se EXC_BAD_ACCESS.Voici une approche plus moderne, qui fonctionne à partir de iOS6:
Est sympa solution avec Swift
Ajouter balle attributs
Swift 4.2++
Swift 4.0 & 4.1
Voici le résultat:
Vous ne mettez pas en œuvre une liste à puces avec un style de paragraphe dans iOS. Définissez vos taquets de tabulation que vous le souhaitez, puis insérer une tabulation, une balle, un onglet au début du paragraphe.
CTParagraphStyle
est assez rigides, de sorte que vous ne pouvez pas ajouter de nouveaux styles de votre choix à elle. Toutefois, vous pouvez ajouter n'importe quel attribut que vous souhaitez (MYBulletStyle
) à l'arbitraire des courses dans leNSAttributedString
. Cela peut être utile pour le passage de la balle-la liste des informations autour de laNSAttributedString
et puis la reconstruction de la chaîne d'inclure les puces lorsque vous êtes prêt à afficher. Mais le Texte fondamental de ne pas rendre les balles pour vous automatiquement.Pas la réponse exacte à cette question, mais cela peut aider.
juste ajouter " • "
Même je cherchais quelque chose comme cela pour mon textView. Ce que j'ai fait, ajoutez simplement au-dessus de la chaîne avec ma chaîne et de le passer à mon textView, même chose peut être fait pour les étiquettes aussi. J'ai répondu présent pour l'avenir de la Visionneuse.
Ici est Krunal excellente réponse dans Objective-C. Il supprime également l'espacement de paragraphe sur le dernier élément de puce vers le bas du rembourrage sur la UILabel.
Et ici est la fonction qui crée le réel attribué texte: