情况:
如上图所示,我使用Xcode 9设计了布局,设计完成后不久,我注意到一个奇怪的layout
问题。
如果您仔细观察,您可以观察到UILabels
它们正在向右“倾斜”或“倾斜”。
问题:
知道为什么会这样吗?在开发了一半的应用程序后,我第一次观察到了这一点。以前从未发生过。
注意:没有Swift
为设计编写代码,所有内容都使用和AutoLayout
对齐。如果您希望我提供任何代码,我会根据要求发布。StackView
UILabel
任何帮助将不胜感激。谢谢。
我使用图像编辑器在故事板屏幕截图中添加了一些完全水平的红线。红线更容易看出为什么它看起来“倾斜”:
您的所有标签都具有完美的水平基线,并且所有灰色标签都正确(垂直)相互对齐。
“倾斜”出现是因为您的黑色“---”标签没有垂直对齐。
您没有为我发布足够的信息来解释为什么您的破折号标签没有垂直对齐,但也许您现在有足够的信息来自己追踪问题。如果没有,请编辑您的问题以包含有关如何配置和约束短划线标签的更多信息。
我已经上传了一个故事板到这个要点,它显示了我将如何布置这个视图。
这是我在故事板中所做的:
如果您有两个并排的标签行,请将它们放在水平堆栈视图中,对齐设置为“第一个基线”,分布设置为“均等填充”。如果您需要在行周围进行填充,请将堆栈视图的布局边距(在大小检查器中)更改为“固定”并设置边距以获得所需的填充。因此:
这是我的文档大纲:
所有标签都配置了水平内容拥抱优先级 251,垂直内容拥抱优先级 1000,并且两个轴的内容压缩阻力优先级都设置为 1000:
所有水平行堆栈视图都配置有“固定”布局边距,左右设置为 8,顶部和底部根据需要设置。例如,包含“Available Credits”和“Used Credits”标签的堆栈视图具有以下边距: