在Xcode Swift中以UILabel中心文本alignment方式发出不同字体大小的问题

这是UILabel在iOS7和iOS8中的一个问题,在iOS9中不存在。 这个奇怪的UILabel行为是用不同的字体来体验的,在Xcode版本6和7中使用Swift,使用模拟器和设备。

问题:

我有一个中心文本alignment的UILabel。 在不同的字体大小,一些文本行停止中心alignment,并捕捉到左alignment。 这是微妙的,但显而易见的。

在下面的图片中:

左:所有文本行整齐地居中。

MIDDLE:在增加字体大小之后,从顶部的第三行更多地向左移动而不是保持居中。 (注意右边有更多的蓝色空间。)

右图:在增加字体大小之后,从顶部的第二行和第三行向左alignment,而不是保持居中。 (注意右边有更多的蓝色空间。)

在这里输入图像说明

问题:

  1. 什么原因可以解释iOS7和iOS8中这种不寻常的alignment行为,而不是iOS9呢?
  2. 我怎样才能确保所有的行都被强制保持居中alignment,而不pipe字体的types或字体的大小?
  3. 在iOS7和iOS8中修复或解决此问题的方法是什么,以便使用UILabel中心alignment创build的应用程序不具有此function?

使用UITextView

在所有应有的尊重,这是我的经验, UILabel多行(除1以外的行计数)困扰与错误。
开始,但不限于包含这样的标签的大小,几乎不能预测其足迹1

使用UITextView ,不可编辑 ,滚动禁用 (这是关键)。 你将达到相同的效果,对最终外观有更多的控制。


1请参阅此堆栈溢出UILabel答案的注释3。