我正在尝试使用XCode 4.2和Interface Builder设置一个三行UILabel,为iOS 5构建。放置UILabel后,我将行数设置为3(这个问题也发生在数量为行设置为0),我已经使用option-Return来在text属性中正确地破坏行。这一切都在Interface Builder的故事板预览中正确显示。问题是,当我在模拟器中构建并运行应用程序时,完全忽略了换行符,文本只是在UILabel的视图中包含它需要的地方,就像文本中没有换行符一样。
显而易见的快速解决方案是在代码中设置UILabel的文本,或者制作三个UILabel。没问题。当标签纯粹在IB中设置时,我只是为什么会这样做而烦恼。有人遇到同样的问题吗?
答案 0 :(得分:9)
这应该是一个bug,但这是一个解决方法:
而不是选项 - 返回,使用control-Return AND命中两次(在故事板中的文本行之间留下一个空行)。然后它将在故事板和设备上正确显示。
答案 1 :(得分:2)
使用标签的这个属性
label.lineBreakMode=UILineBreakModeCharacterWrap;
label.numberOfLines=0;
我们可以在单个标签示例中添加整个段落,请参阅屏幕截图。