在xCode 5 / iOS 7中是否更改了UILabel对齐行为?

时间:2013-09-25 00:09:42

标签: objective-c uilabel ios7 xcode5

我刚从xCode 4.x移动到xCode 5,同时跳转到iOS 7.过去,我在UILabel中放置了带尾随空格的文本,并使用右对齐留下了一点点文本右侧的空格。由于我已经转移到xCode 5,这种行为似乎已经改变了。当UILabel右对齐其文本时,它似乎忽略了尾随空格 - 并将文本对齐,好像根本没有没有尾随空格

还有其他人看过这种行为吗?有没有办法在xCode中添加边缘插入以调整此新行为,还是必须在代码中完成?

4 个答案:

答案 0 :(得分:7)

我看到了同样的行为。我认为问题不在于对xCode5的更改,而是在ios7下运行时更改。 Apple现在似乎正在从使用UILabel显示的文本块中剥离所有空白字符,这些字符用于在行的开头或行的末尾填充行。如果在两个单词之间的一行中使用了多个空格字符,则不会剥离这些字符。

我们一直在使用UILabels来布局从标记语言提供的多行文本块。一些文本内容需要居中对齐,但有意添加空格以将特定文本行推向左侧或右侧。这被认可并在ios6下完美运行,但在ios7下打破。

为什么苹果公司做了这个改变我想知道。有其他人有这个问题 - 有什么想法来解决这个问题吗?我们正在尝试使用自定义字体,该字体具有看起来像空格但不是空格的控制字符。

答案 1 :(得分:1)

查看UILabel text margin

大多数建议都是使用代码进行的。

我做了一些像这样的事情:

[myLabel setFrame:CGRectMake(75 ,20,size.width + 5,size.height+2)];其中size是我的文字内容的CGSize

您也可以尝试使用Auto Layout constraints

答案 2 :(得分:0)

我用过\ a:

label.text = [NSString stringWithFormat: @"%@ \a", originalString];

强迫/欺骗空间展示。

答案 3 :(得分:-1)

是的,我已经看过了,而且我没有看到一个简单的一般修复方法!