2010-09-10 5 views
1

J'ai créé une chaîne qui dépend de ce que les entrées de l'utilisateur dans le champ de texte:Comment formater une chaîne faisant partie d'une chaîne plus grande?

NSString *book = [[NSString alloc] initWithFormat:@"%@%@", bookTitle.text, afterbook]; 

Ensuite, cette chaîne fait partie d'une plus grande chaîne:

NSString *msg = [[NSString alloc] initWithFormat:@"%@%@%@%@%@%@%@%@%@%@%@%@%@%@", lastname, 
     firstname, secondfirstname, secondlastname, thirdfirstname, thirdlastname, book, numb, volume, pubcity, pubcomp, year, pages, print]; 

Je veux formater le livre NSString * de sorte que c'est l'italique. Je ne me soucie pas de l'afficher sur la vue, mais je veux être en mesure de copier cela dans le presse-papiers afin que je puisse le coller à un programme comme Pages sur l'iPad.

Répondre

0

Vous ne pouvez pas formater un NSString pour qu'il s'écrit en italique.

Source

4

NSStrings sont le texte brut. Ils n'ont aucune notion de style, de polices, de couleurs ou de tout autre élément qui ne devient pertinent que pour dessiner la chaîne.

Vous devez utiliser soit UIKit pour dessiner chaque sous-chaîne la façon dont vous le souhaitez, ou créer un NSAttributedString, utilisez le Core Text string attributes sur la plage appropriée pour appliquer les italiques et utiliser Core Text pour tirer toute la chaîne attribuée.

+0

Merci pour la réponse rapide. Eh bien, je savais que j'aurais besoin d'une chaîne attribuée, mais je ne savais pas quoi faire après ça. Je l'ai affichage dans un UIWebView comme je le veux. Est-il possible de copier le texte riche de cela dans mon presse-papiers? – kp2813

+0

Aucune idée. Sur Mac, AppKit ajoute des méthodes à NSAttributedString pour convertir vers et depuis RTF, HTML et quelques autres formats. Sur iOS, bien sûr, pas d'AppKit, et je ne peux pas trouver de telles méthodes dans iOS Foundation ou iOS CFAttributedString ou UIKit, et UIPasteboard ne semble pas offrir quelque chose dans cette direction non plus. Ce serait une autre question de toute façon, je pense. –

+0

NSAttributedString est dans Foundation, pas AppKit. Il a également été ajouté à iOS dans 3.2, docs ici (bien qu'il semble être le même que dans Mac, méthode sage): http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation /Classes/NSAttributedString_Class/Reference/Reference.html – zadr

Questions connexes