1

这就是我过去几个小时一直在努力解决的问题。

我有一个包含一些标签、图片和表格视图的视图控制器。我正在使用自动布局/尺寸类,以便仅对支持的各种设备使用一个情节提要(意思是:所有尺寸的 iphone 和 iPad)。

现在一切正常,除了一件事:“宽度紧凑 x 高度紧凑”中的设置用于横向的 3"5 和 4" iPhone。因此,要么我说表格视图占用 480 像素并且 iPhone 5/5S 上有很多空间,要么我将其设置为 480 像素,但我无法可靠地在单元格中垂直对齐项目。

为什么没有办法说“这个视图应该总是占据整个宽度”?

任何解决方案,甚至解决方法,都可以。非常感谢您的时间!

4

2 回答 2

0

有几种方法可以获得基于百分比的大小。

  1. 将目标元素的宽度链接到另一个元素的宽度。
  2. 将您的元素固定到其 Superview 并使用Multiplier设置而不是Constant

假设您想将 TitleLabel 设置为与另一个元素相比具有相对宽度。

方法 1 的示例:

Ctrl + 从 TitleLabel 拖动到另一个 Target 元素(例如其父视图),然后选择Equal Widths ,然后如果您想要 50%的宽度,您可以将 Constraints 设置中的Multiplier字段更改为 0.5。

方法 2 的示例:

将 TitleLabel 的适当边缘固定到其 Superview 的 Center、Bottom 或 Trailing edges*(Editor -> Pin -> X Space to Superview)。

在 Constraints Settings 中,确保您在First Item字段中有 TitleLabel ,并且 Superview 作为Second Item

*因为 Superview 的顶部/前沿将具有 0 值,因此对这些值的乘数将不起作用,因为 0 x 0 = 0。

我发现方法 #1 在表格视图中效果不佳,因此您可能对 #2 有更多的运气。

于 2014-10-22T10:06:28.860 回答
0

3.5"、4" 和 4.7" 设备之间的尺寸等级没有区别。它们都具有相同的水平和垂直尺寸等级,并且在旋转时表现相同。

您可以定义一个视图来占用所有可用空间。显式设置底部和顶部视图以使用约束(分别)附加到底部和顶部边缘,并设置中间视图(在您的情况下为表格视图)通过在顶部设置约束来占据中间的所有空间顶视图和底部视图的约束。现在,因为顶部视图附加到顶部,底部附加到底部,所以中间视图将根据需要增长和缩小。

于 2014-10-19T17:08:55.463 回答