如何使用自动布局设置组件的宽度以匹配其他 2 个组件的宽度之和?
How to set the width of a component to match the sum of 2 other components' width using Auto Layout?
我有一个包含 3 个组件的 UIView
:1 UIImageView
和 2 UILabel
。
我想创建一个大小限制(以编程方式),以便 UIImageView.width = UILabel1.width + UILabel2.width
用视觉格式,好像不行。使用 constraintWithItem
,似乎我只能指定一个组件来比较我的 UIImageView
和?
我该怎么做?有可能吗?
对于Nico的实际情况,作用是将image view的边缘(leading和trailing)约束到各自标签的边缘。
没有直接的方法可以将一个视图的宽度限制为其他视图宽度的总和。您可以使用涉及虚拟视图的粗暴技巧来做到这一点。例如,您可以创建几个不可见的视图。将它们的宽度设置为等于标签的宽度。将它们嵌入到容器视图中。设置约束条件,例如 H:|[view1][view2]|
。 (您还需要垂直约束,但这些约束可以是任意的。)因此,容器的宽度现在等于标签宽度的总和。然后您可以将图像视图的宽度限制为等于该容器视图。
我有一个包含 3 个组件的 UIView
:1 UIImageView
和 2 UILabel
。
我想创建一个大小限制(以编程方式),以便 UIImageView.width = UILabel1.width + UILabel2.width
用视觉格式,好像不行。使用 constraintWithItem
,似乎我只能指定一个组件来比较我的 UIImageView
和?
我该怎么做?有可能吗?
对于Nico的实际情况,作用是将image view的边缘(leading和trailing)约束到各自标签的边缘。
没有直接的方法可以将一个视图的宽度限制为其他视图宽度的总和。您可以使用涉及虚拟视图的粗暴技巧来做到这一点。例如,您可以创建几个不可见的视图。将它们的宽度设置为等于标签的宽度。将它们嵌入到容器视图中。设置约束条件,例如 H:|[view1][view2]|
。 (您还需要垂直约束,但这些约束可以是任意的。)因此,容器的宽度现在等于标签宽度的总和。然后您可以将图像视图的宽度限制为等于该容器视图。