Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Objective c 在xCode 5/iOS 7中UILabel对齐行为是否已更改?_Objective C_Uilabel_Ios7_Xcode5 - Fatal编程技术网

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

Objective c 在xCode 5/iOS 7中UILabel对齐行为是否已更改?,objective-c,uilabel,ios7,xcode5,Objective C,Uilabel,Ios7,Xcode5,我刚从xCode 4.x升级到xCode 5,并跳转到iOS 7。过去,我在UILabel中放置带有尾随空格的文本,使用右对齐在文本右侧留下一点空间。自从我迁移到xCode 5之后,这种行为似乎已经改变了。当UILabel右对齐其文本时,它似乎忽略了尾随空格-并对齐文本,就好像根本没有尾随空格一样 还有人见过这种行为吗?有没有办法在xCode中添加边插入以适应这种新行为,还是必须在代码中完成 大多数建议都是通过代码来实现的 我是这样做的: [myLabel setFrame:CGRectMake

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

还有人见过这种行为吗?有没有办法在xCode中添加边插入以适应这种新行为,还是必须在代码中完成

大多数建议都是通过代码来实现的

我是这样做的:

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


您也可以尝试使用
自动布局约束执行此操作

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

我们一直在使用UILabels来布局由标记语言提供的多行文本块。某些文本内容需要居中对齐,但故意添加了空格,以向左或向右推送特定的文本行。这在ios6下得到了认可,并且工作得很好,但在ios7下却出现了中断


我想知道苹果为什么要做出这样的改变。还有其他人有这个问题吗?有解决这个问题的办法吗?我们正在试验一种自定义字体,它的控制字符看起来像空格,但不是空格。

是的,我看到过,我没有看到一个简单的通用修复方法

我使用了\a:

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

这迫使/欺骗空间显示。

谢谢。当然,有很多例子可以使用代码来实现这一点。我很想知道是否有其他人看到了UILabel行为的这种变化。谢谢。有时,我会在按钮上的文本之前使用空格,以便在按钮的图形和标题之间添加更多的空格(我认为这是内部的
UILabel
。我使用的是中控对齐-它似乎与以前一样工作。我没有检查每种文本对齐形式的行为是否(左、右、中)发生了变化。我也遇到了这个问题。非常令人沮丧。对我来说更奇怪的是,似乎只有尾随空格受到影响——前导空格仍然被渲染。而且,忽略尾随空格的同样疯狂决定似乎也被应用到了adjustsFontSizeToFitWidth的计算中。我我在iOS 7设备上看到了完全相同的行为。在我的例子中,我在一个旧应用中还没有迁移到Xcode 5,所以我仍然使用Xcode 4.6.3构建它。这意味着它也影响了iOS 6的兼容性模式。在这个应用中,我首先添加这些尾随空格的原因是为了克服另一个UI标签错误:右对齐的斜体文本被剪裁在右边缘!因此,现在我被迫在同一段代码中使用新的解决方法。这次,我最终遇到了一个错误修复,将文本更改为居中对齐,并动态调整帧。您可以尝试使用选项空格(或alt空格),因为这会提供不同的空格字符