我看过这篇文章:NSString: newline escape in plist但我想知道是否有办法实用地渲染\ n换行符。
我目前正在使用:
decisionText.text = [NSString stringWithFormat: (@"%@", [replies objectAtIndex:(arc4random() % [replies count])])];
从replies
数组中随机抓取一个字符串。数组是从plist中加载的,如下所示:
replies = [[NSMutableArray alloc] initWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"AdviceList" ofType:@"plist"]];
我错过了什么?答案不能是手动输入换行符。那不是编程! (听起来像是对我的文字处理。)
答案 0 :(得分:2)
setNumberOfLines:
,0
表示无限制)。然后设置文本(-[UILabel setText:]
)并告诉标签调整自身大小(-[UILabel sizeToFit]
)。现在标签会正确地破坏线条以适应空间。
祝你好运。
答案 1 :(得分:1)
与原始问题无关,但仍然存在问题: -
[NSString stringWithFormat: (@"%@", etc)];
此表达式不会执行您真正想要的操作。额外的括号使得逗号表达式,其中@"%@"
将被忽略,并变为
[NSString stringWithFormat: etc];
可变参数调用中不应该有任何括号。请使用
[NSString stringWithFormat:@"%@", etc];
这可以更有效地编写为[etc description]
。