我了解到我们可以像这样设置相等的高度V:|-[v1]-[v2(==v1)]-[v3(==v1)]-|
,但这会使它们垂直分布。这与我想要的相反。
问问题
485 次
1 回答
4
您的格式字符串指定了一个垂直的布局列。例如,这意味着您将 v1 的底部固定到 v2 的顶部(以及高度)。为避免这种情况,您将需要多个约束规范。
首先,如果您希望它们都具有相同的高度,您可以使用两个单独的约束规范,如下所示:
V:[v2(==v1)]
V:[v3(==v1)]
其次,您可以使用水平布局格式和特殊选项标志固定所有顶部(感谢@jrturton 的建议):
[NSLayoutConstraint constraintsWithVisualFormat:@"H:..." options:NSLayoutFormatAlignAllTop metrics:nil views:...];
您的水平约束可能类似于 @"H:[v1]-[v2]-[v3]"。
请注意,像这样简单地将它们的顶部固定在一起并不足以垂直放置它们;您还必须指定一些其他约束(如V:|[v1]
)以将其中一个附加到其他约束。(当然,您还需要水平约束。)
不过,最简单的做法是使用 Interface Builder,您可以在其中简单地使用 Editor 菜单直接固定这些视图的高度和顶部。
于 2013-09-15T15:08:38.837 回答