ios - 以编程方式将 View 的前缘与约束对齐

标签 ios objective-c autolayout ios-autolayout

我有一个 UIImageView(比如 imageView1)和一个 UITextView(比如 textView1)垂直显示(一个 [imageView1] 在另一个 [textView1] 下方)从与 textView1 相同的边距位置开始。我必须以编程方式通过自动布局来实现这一点。

我知道这可以通过为两个 View 设置垂直约束来完成,如下所示。

NSLayoutConstraint constraintsWithVisualFormat:@"V:|[textView1]"

但我这里的问题是我已经有很多 TextView (textView2textView3)在这个textView1之前和之后水平排列.

我已经通过 Storyboard向这个 textView1 添加了许多自动布局约束。根据不同的屏幕尺寸和方向,textView1 边距根据 Storyboard 中为此提供的约束而有所不同。

现在我如何以编程方式提供自动布局约束,使我的 imageView1textView1 保持相同的边距垂直对齐?

p.s:imageView1 是在代码中以编程方式创建的,但我上面提到的所有其他 View 都是通过 Storyboard创建的。

+ Adding images for easy understanding

enter image description here

在图像中,imageView1UI 图像。我在 Storyboard 中创建它只是为了理解目的,但实际上它将以编程方式创建,并且必须与其下方的 UITextView (textView1) 的边距对齐。

enter image description here

这是我想通过编程方式创建它的约束(以防这是真正的问题:)。

这个约束是为了始终确保 imageView1textView1 从相同的边距开始。

如何以编程方式定义此约束?

最佳答案

而不是使用视觉格式,你可以直接实例化一个约束,例如

[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/

相关文章:

ios - "Use of unresolved identifier"错误仅在Build Archive时出现

iphone - 从另一个函数调用函数时如何返回? iPhone编程

objective-c - 使用自动布局自定义纵横比

iOS Auto Layout Constraints - View Resize per 3.5 vs 4 inch screen

ios - 未计算 UITableViewCell 中的约束

ios - 为什么 Swift 打印 "Optional(455 bytes)"

ios - 浅拷贝与深拷贝问题 iOS Swift

ios - 我如何继承 UIView?

objective-c - 将 RSS pubDate 转换为 SQLite 日期格式 iPhone

objective-c - 可以在 c 结构中使用 CATextLayer 吗?