UITextView 在 DesignView 和运行时倾斜

UITextView Slants in the DesignView and at RunTime

:

情况:

如上图所示,我使用 Xcode 9 设计布局,设计完成后不久,我注意到一个奇怪的 layout 问题。

如果仔细观察,您会发现 UILabels 正 "slant" 或 "tilted" 向右。

问题:

知道为什么会这样吗?我在开发一半的应用程序后第一次观察到这一点。以前从未发生过。

注:没有Swift设计代码,一切都使用AutoLayoutStackView和[=15=对齐].如果您希望我提供任何代码,我会根据要求 post。

如有任何帮助,我们将不胜感激。谢谢。

我使用图像编辑器为您的情节提要屏幕截图添加了一些完美的水平红线。红线更容易看出为什么它看起来“倾斜”:

您所有的标签都具有完美的水平基线,并且您所有的灰色标签都正确(垂直)对齐。

出现“倾斜”是因为你的黑色“---”标签没有垂直对齐。

你没有 post 足够的信息让我解释为什么你的破折号标签没有垂直对齐,但也许你现在有足够的信息来自己找出问题所在。如果不是,请编辑您的问题以包含有关如何配置和约束破折号标签的更多信息。

更新

我已经上传了一个故事板 to this gist,展示了我将如何布置此视图。

这是我在故事板中所做的:

在你有一行并排的两个标签的任何地方,将它们放在水平堆栈视图中,对齐设置为“第一基线”,分布设置为“平均填充”。如果您需要在行周围填充,请将堆栈视图的布局边距(在大小检查器中)更改为“固定”并设置边距以获得您想要的填充。因此:

这是我的文档大纲:

所有标签配置水平内容拥抱优先级251,垂直内容拥抱优先级1000,两个轴的内容压缩阻力优先级设置为1000:

所有水平行堆栈视图都配置了“固定”布局边距,左右设置为 8,顶部和底部根据需要设置。例如,包含“Available Credits”和“Used Credits”标签的堆栈视图具有以下边距: