2010-12-09 36 views
0

我從Property列表中檢索NSString,並將其顯示在UILabel中。 NSString已包含\n s,但UILabel只是將它們顯示爲文本。我怎樣才能告訴UILabel實際使用\n作爲換行符?使用檢索到的NSString的換行符

+0

你的問題太含糊。換行符在哪裏需要插入?你可能會想使用NSString的`stringByReplacingOccurrencesOfString:withString:`,或者其他的子串替換方法之一,但除此之外,我們不知道更多。請注意,要「插入」字符串,您可以在正確的位置使用「stringByReplacingCharactersInRange:withString:」使用零長度範圍。 – d11wtq 2010-12-09 14:06:16

+0

白色什麼我會替換`occurrencesOfString`或`charactersInRange`? – fabian789 2010-12-09 14:09:02

+0

`@「\ n」`是換行符,如果這就是您要求的? – d11wtq 2010-12-09 14:11:31

回答

2

您在plist編輯器中輸入plist的所有內容均被解釋爲純文本。試試吧......將'放入一個字段並右鍵單擊 - >查看爲「純文本」,您會看到它將其替換爲'。因此,您不能將\ n放入plist,因爲它認爲您只是鍵入文本,並將其視爲此類。不要將\ n放入你的plist中,可以使用Alt + Enter來獲得你的換行符。如果您現在將其視爲文本文件,您將看到\ ns打印出來,並在文本文件中精確顯示了新行。

現在當你輸出它時,它不會顯示\ n它只會給它一個新的行。

另外,正如已經提到的那樣,UITextField只有一行,無論如何你可能會從使用UITextView中受益。

0

嗯,首先,你需要一個你可以修改的字符串。要做到這一點,你可以簡單地做:

NSMutableString * correctedPath = [path mutableCopy];

在這一點上,你可以使用-insertString:atIndex:插入你需要的任何字符。

0

您在這裏使用了錯誤的類。

UITextField不支持(我知道的所有)支持多行輸入。爲此,您將需要一個UITextView(它默認情況下已啓用編輯功能)。它應該解釋\n的沒有任何問題。它也有一個lineBreakMode屬性,如果你想要使用它。