UILabel中心文本对齐问题在Xcode Swift中以不同的字体大小

时间:2016-02-16 18:28:47

标签: ios xcode swift optimization fonts

  

UILabel在iOS7和iOS8中存在问题,但事实并非如此   目前在iOS9。这种奇怪的UILabel行为经历过   不同的字体,在Xcode版本6和7中使用Swift,使用   模拟器和设备。

问题:

我有一个UILabel,它有一个中心文本对齐方式。在不同的字体大小下,某些文本行停止对中并对齐左对齐。它很微妙但很明显。

在下图中:

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

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

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

enter image description here

问题:

  1. 是什么原因解释了iOS7和iOS8中这种不寻常的对齐行为可能导致的原因,而不是iOS9?
  2. 无论使用何种字体类型或字体大小,我如何确保所有线条都被强制保持中心对齐?
  3. 在iOS7和iOS8中有什么错误修复或解决这个问题,以便使用UILabel中心对齐创建的应用程序不会出现错误?

1 个答案:

答案 0 :(得分:1)

使用UITextView

在充分尊重的情况下,根据我的经验,UILabel在涉及多行(1以外的行数)时会遇到错误。 开始,但不限于包含此类标签的细胞大小难以预测其足迹 1

使用UITextView,非可编辑,滚动已禁用(即密钥)。您将获得相同的效果,并可以更好地控制最终外观。

1 请参阅this Stack Overflow UILabel answer上的注释3。