我有一个 UIImageView
(比如 imageView1)和一个 UITextView
(比如 textView1)垂直显示(一个 [imageView1] 在另一个 [textView1] 下方)从与 textView1 相同的边距位置开始。我必须以编程方式通过自动布局来实现这一点。
我知道这可以通过为两个 View 设置垂直约束来完成,如下所示。
NSLayoutConstraint constraintsWithVisualFormat:@"V:|[textView1]"
但我这里的问题是我已经有很多 TextView (textView2、textView3)在这个textView1之前和之后水平排列.
我已经通过 Storyboard向这个 textView1 添加了许多自动布局约束。根据不同的屏幕尺寸和方向,textView1 边距根据 Storyboard 中为此提供的约束而有所不同。
现在我如何以编程方式提供自动布局约束,使我的 imageView1 与 textView1 保持相同的边距垂直对齐?
p.s:imageView1 是在代码中以编程方式创建的,但我上面提到的所有其他 View 都是通过 Storyboard创建的。
+ Adding images for easy understanding
在图像中,imageView1 是UI 图像。我在 Storyboard 中创建它只是为了理解目的,但实际上它将以编程方式创建,并且必须与其下方的 UITextView
(textView1) 的边距对齐。
这是我想通过编程方式创建它的约束(以防这是真正的问题:)。
这个约束是为了始终确保 imageView1 和 textView1 从相同的边距开始。
如何以编程方式定义此约束?
最佳答案
而不是使用视觉格式,你可以直接实例化一个约束,例如
[NSLayoutConstraint
constraintWithItem:imageView1 attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:textView1 attribute:NSLayoutAttributeLeading
multiplier:1.0 constant:0.0]
关于ios - 以编程方式将 View 的前缘与约束对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882190/