2010-09-10 144 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