我有一个问题,我问的是一个新的问题,因为前一个人被搞乱了
NSString *s=@"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 对它们进行拼写,我在这里做错了善意建议
由于
答案 0 :(得分: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
欢呼远藤
答案 1 :(得分: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
以包含实际的换行符。
答案 2 :(得分:0)
NSString * ss = [aDl.content stringByReplacingOccurrencesOfString:@“\ n”withString:@“\ n”];