2010-09-10 107 views
1

我创建了依赖于用户输入到文本框什么的字符串:如何格式化大字符串中的字符串?

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

那么这个字符串是一个更大的字符串的一部分:

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

我想格式化的NSString *书所以它是斜体。我不关心在视图中显示它,但我确实希望能够将其复制到剪贴板,以便将它粘贴到iPad上的Pages等程序中。

回答

4

NSString的是纯文本。他们没有样式,字体,颜色或其他任何只在绘制字符串时才变得相关的概念。

您必须要么使用UIKit的绘制每个子串,你想要的方式,或创建一个NSAttributedString,使用Core Text string attributes在适当的范围内应用斜体,并使用Core Text绘制整个属性串。

+0

感谢您的快速响应。好吧,我知道我需要一个属性字符串,但之后我不知道该怎么做。我确实以我想要的方式在UIWebView中显示它。无论如何要将富文本复制到我的剪贴板? – kp2813 2010-09-10 18:42:06

+0

不知道。在Mac上,AppKit将方法添加到NSAttributedString以转换为RTF,HTML和其他一些格式。在iOS上,当然,没有AppKit,我在iOS Foundation或iOS CFAttributedString或UIKit中找不到任何这样的方法,并且UIPasteboard似乎也没有提供任何方向。无论如何,这是另一个问题,我想。 – 2010-09-10 18:58:50

+0

NSAttributedString在Foundation中,而不在AppKit中。它也被添加到了3.2的iOS中,这里的文档(虽然它看起来与Mac中的方法相同):http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation /Classes/NSAttributedString_Class/Reference/Reference.html – zadr 2010-09-10 19:22:14