2011-01-12 46 views
1

顯示我有一個問題,我問的previoes一個攪亂NSString的問題,同時對的UILabel

NSString *[email protected]"hi\nhello\n\nwelcome to this world\ni m jhon" 
label.frame = ...//big enough height 
label.numberOfLines = 0; 
label.text = s; 

這個代碼可以幫助我單獨字符串基於\ n的新問題

但如果我這樣做

NSString *s=Ad.content //where Ad.content value is **hi\nhello\n\nwelcome to this world\ni m jhon** 


label.numberOfLines = 0; 
label.text = s; 

我不能夠通過\ n到sperate他們,就是我DOI納克錯在這裏懇請建議

感謝

回答

0

「\ n」 是不會被處理的UILabel特殊令牌。事實上,它是由編譯器處理的特殊標記。當編譯器看到的「Hello \ nWorld」,將其轉換成該字符'H' 'e' 'l' 'l' 'o' LF 'W' 'o' 'r' 'l' 'd'的序列(其中,LF是ASCII碼10,或換行)。無論出於何種原因,您Ad.content包含文字「\ n」序列,而不是換行。最好的辦法是用在什麼地方Ad.content的內容來源和解決它實際上有真正的換行符,而不是「\ n」序列。如果你絕對必須有「\ n」序列,那麼你可以使用-[NSMutableString stringByReplacingOccurrencesOfString:withString:]。當然,如果有人想讓文字序列「\ n」出現,那麼他們不能這樣做。如果你想支持通用的反斜槓逃逸(這樣的文字序列「\ n」將被表示爲「\ n」),那麼你可以使用與NSScanner一個更復雜的方法,你找到的每個「\」,拉出下一個字符,並適當地處理它。

我的建議是修復Ad.content包含實際的換行符。

+0

很好的解釋非常感謝我stringByReplacingOccurrencesOfString:withString:像魅力:-) – prajakta 2011-01-12 02:37:24

0
NSString *_stringToSplit = @"hi\nhello\n\nwelcome to this world\ni m jhon"; 
NSArray *_splitItems = [_stringToSplit componentsSeparatedByString:@"\n"]; 
NSMutableArray *_mutableSplitItems = [NSMutableArray arrayWithCapacity:[_splitItems count]]; 
[_mutableSplitItems addObjectsFromArray:_splitItems]; 

[_splitItems count] is your solution 

歡呼遠藤

0

我這樣做。它是如此容易該死的我瘋了謝謝你們

NSString * ss = [aDl.content stringByReplacingOccurrencesOfString:@「\ n」withString:@「\ n」];