网格中的自动布局 UIButton

Autolayout UIButtons in a grid

我无法让 UIButtons 在我的滚动视图中正确对齐。我已经尝试对齐基线,将每个基线与我的 UIView 称为 contentView 等对齐,但没有任何效果。

基本上我有一个:

`UIView`

   `UIScrollView`   //320 x 708

      `UIVew`   //320 x 708 , called contentView

我有 8 个 UIButtons 尺寸 140x140,它们两排对齐:

|---8 pts--| UIButton |---24 pts--|  UIButton |---8 pts--|
               _
               |
               |
              8 pts
               _

|---8 pts--| UIButton |---24 pts--|  UIButton |---8 pts--|

等,4 行

最终起作用的是将所有按钮的纵横比改为相等的宽度和高度!然后在左侧按钮(顶部、左侧和底部)和右侧按钮(顶部、左侧、底部和右侧)设置 3 个约束

张贴我的建议作为答案,因为它似乎可以解决问题:

等宽 + 等高 + 8px(或 24px)的间距应该可以做到,但与可以一次性设置的固定宽度和高度约束不同,不要尝试将等尺寸或间距约束设置为多个按钮一次。因为你只有8个,一个一个进行。

例如:第一个按钮位于其父视图的顶部和左侧,间距为 8px。第二个按钮与其父视图的顶部间距为 8px,但与其父视图的间距为 8px,与第一个按钮的间距为 24px。第一个和第二个按钮也应该设置相等的宽度约束。所有行等。

另请注意,在问题的第一个版本中,您可能会与以下尺寸发生冲突:8+140+8+140+8 = 304px,与 superview 的 320px 宽度不同...如果您尝试用约束连接所有东西,你 发生冲突,所以关键是连接足够的约束以使视图正确显示,但不要太多以避免产生有时很难发生的冲突解决...