Ios 自动布局:相同高度和宽度的约束

Ios 自动布局:相同高度和宽度的约束,ios,autolayout,nslayoutconstraint,Ios,Autolayout,Nslayoutconstraint,我对视觉格式有以下限制 @“|-(0)-[[view0]-(5)-[view1(view0)]-(5)-[view2(view0)]-(5)-[view3(view0)]-(0)-” 视图的数量很大,为了简单起见,只考虑3个视图 使用上述约束,我将视图设置为具有相同的宽度。 但也需要设置视图,使其具有相同的高度 是否有办法在上述约束中指定视图的宽度和高度相同 我知道可以设置视图的约束,使其具有与此相同的高度 @“V:[view1(view0)]和@“V:[view2(view0)],但我希望只有

我对视觉格式有以下限制

@“|-(0)-[[view0]-(5)-[view1(view0)]-(5)-[view2(view0)]-(5)-[view3(view0)]-(0)-”

视图的数量很大,为了简单起见,只考虑3个视图

使用上述约束,我将视图设置为具有相同的宽度。 但也需要设置视图,使其具有相同的高度

是否有办法在上述约束中指定视图的宽度和高度相同

我知道可以设置视图的约束,使其具有与此相同的高度
@“V:[view1(view0)]
@“V:[view2(view0)]
,但我希望只有一个可视约束字符串


欢迎您提供任何建议/参考!

不幸的是,答案是否定的,您不能在同一视觉布局字符串中混合高度和宽度。我将在下面解释原因

首先,这里是指向的链接。这定义了
-[NSLayoutConstraint constraintsWithVisualFormat:options:metrics:views:
的有效字符串

从该参考页中,我们可以看到有效的可视格式字符串定义为:

H|V
(:)?
()?
()*
()?
方向是我们感兴趣的。根据上面的定义,我们可以在可视格式字符串的开头设置方向。还有其他地方可以设置方向吗?没有。深入到其他符号(
)和
),符号
不会再次出现

现在让我们看一下符号
,它的定义如下:

H|V
这意味着您可以将
替换为
H
(水平)或
V
(垂直)

也就是说

(<orientation>:)?
(:)?
(H:)?
还是
(V:)?

字符表示括号中包含的内容可以是0或1。这为
(:)?
H:
V:
,或什么都没有提供了三种可能性(相当于
H:


如图所示,在视觉格式字符串中只有一个位置可以设置方向,可以设置为水平方向或垂直方向,而不能同时设置为两个方向。这意味着您只能在单个视觉格式字符串中设置高度或宽度。

关于回避问题的最后一节是错误的。它将以指定的间距垂直排列视图,但那不是他想要的。他只是想要他们有相同的高度。