Ios 自动布局-匹配高度,而不是高度(单向)

Ios 自动布局-匹配高度,而不是高度(单向),ios,constraints,autolayout,Ios,Constraints,Autolayout,是否可以使用autolayout和interface builder进行单向大小匹配 例如,我可能有两个标签。我不希望标签A比标签B大,我希望B有其固有的大小。但是使用“匹配高度/宽度”可能会导致大量文本增加a的大小,从而增加B的大小。这样做的方法是有两个约束 标签和图像视图之间的等高约束 图像视图上的高度约束 这将首先使用固定高度约束设置图像视图的高度,然后设置标签相对于图像视图高度的高度(相等高度) 通过这样做,标签将不会随着文本量的增加而增加。其高度由图像视图有效固定 它不会使图像视图变得

是否可以使用autolayout和interface builder进行单向大小匹配


例如,我可能有两个标签。我不希望标签A比标签B大,我希望B有其固有的大小。但是使用“匹配高度/宽度”可能会导致大量文本增加a的大小,从而增加B的大小。

这样做的方法是有两个约束

  • 标签和图像视图之间的等高约束
  • 图像视图上的高度约束
  • 这将首先使用固定高度约束设置图像视图的高度,然后设置标签相对于图像视图高度的高度(相等高度)

    通过这样做,标签将不会随着文本量的增加而增加。其高度由图像视图有效固定

    它不会使图像视图变得更大,因为这会与固定高度相矛盾

    编辑新问题

    好的,对于这个,你会做几乎相同的事情。在interface builder中可能有点棘手,因为我不确定通过IB执行时约束中的
    item1
    item2

    通过添加一行代码,您可以非常轻松地完成此任务

    [theSuperview addConstraint:[NSLayoutConstraint constraintWithItem:labelA
                                                             attribute:NSLayoutAttributeHeight
                                                             relatedBy:NSLayoutRelationEqual
                                                                toItem:labelB
                                                             attribute:NSLayoutAttributeHeight
                                                            multiplier:1.0
                                                              constant:0.0]];
    
    这正是interface builder约束所做的,但我不确定您是否可以知道item1和item2是以哪种方式运行的

    这是您的“单向”等高属性

    编辑2


    将来某个时候可能会有更新,也可能不会有更新,它可能会让您在interface builder中看到
    item1
    item2

    Fogmeister,谢谢,这就是我最后要做的。但你的回答让我意识到我的问题措词不当。一句话就足够了!你所描述的正是我的问题所在。我分不清连接的方向。如果我从A拖动到B,我希望A的大小取决于B,但不知怎么的,事实并非如此。谢谢别担心。注意我的答案中的第2条。不幸的是,我现在不能再多说了。我编辑了我的答案。