Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 生成时忽略UILabel中的换行符_Ios_Interface Builder_Uilabel - Fatal编程技术网

Ios 生成时忽略UILabel中的换行符

Ios 生成时忽略UILabel中的换行符,ios,interface-builder,uilabel,Ios,Interface Builder,Uilabel,我正在尝试使用XCode 4.2和Interface Builder为iOS 5构建一个三行UILabel。放置UILabel后,我将行数设置为3(行数设置为0时也会出现此问题),并使用选项Return在text属性中正确断开行。所有这些都会正确显示在Interface Builder的情节提要预览中。问题是,当我在模拟器中构建和运行应用程序时,断行被完全忽略,文本只会在UILabel的视图中根据需要换行,就像文本中没有断行一样 显而易见的快速解决方案是在代码中设置UILabel的文本,或者制作

我正在尝试使用XCode 4.2和Interface Builder为iOS 5构建一个三行UILabel。放置UILabel后,我将行数设置为3(行数设置为0时也会出现此问题),并使用选项Return在text属性中正确断开行。所有这些都会正确显示在Interface Builder的情节提要预览中。问题是,当我在模拟器中构建和运行应用程序时,断行被完全忽略,文本只会在UILabel的视图中根据需要换行,就像文本中没有断行一样


显而易见的快速解决方案是在代码中设置UILabel的文本,或者制作三个UILabel。没问题。我只是对标签完全在IB中设置时为什么会发生这种情况感到恼火。有人会遇到同样的问题吗?

这可能应该作为一个bug打开,但这里有一个解决方法:


使用control Return并点击两次,而不是option Return(返回选项)(在故事板中的文本行之间留下一条空行)。然后,它将在情节提要和设备上正确显示。

通过使用标签的此属性

label.lineBreakMode=UILineBreakModeCharacterWrap;
label.numberOfLines=0;
我们可以添加一堆文本。请参见下面的屏幕截图


如果将文本复制并粘贴到IB中的标签中,会发生什么情况?i、 e.在TextEdit.app或其他什么东西中写出来,然后复制进去。这很奇怪,因为我做了完全相同的事情,它对我很有效,尽管我没有尝试过故事板,只是普通的XIB。你说如果你在代码中设置它,效果会很好吗?是的,如果我只对它进行编码,效果会很好,比如:
label.text=@“first line\n second line\n third line”
我想知道它是否是这个新故事板中的一个bug。我一点也没试过。这很奇怪,因为IB预览显示正确,只是在sim卡中不起作用。我还没有在实际设备上试用过,可能是sim卡有问题。你看过原始XML了吗?有没有新的线在那里?有趣的想法。XML有实际的换行符,而不是\n。我尝试将XML中的文本字符串替换为\n组成的字符串,但这只是将IB中的文本属性替换为类似“First \n Second \n Third”的字符串,而IB预览和sim中的构建产品就是这样显示的。我现在也尝试在设备上建立和运行,它也做同样的事情:IbText属性与选项返回正确显示,内置设备和SIM忽略了断线。请考虑在这里添加一个简短的代码解释。代码本身是不清楚的。这是一个简短的解释,在一个标签(蓝色)中,我刚刚给出了一个段落来理解换行符。