在图中,我需要将右视图与左视图对齐。如果右视图大于左视图,我需要顶部对齐它。我可以使用约束(故事板)来执行此操作,还是需要在代码中执行某些操作以在确定大小后调整右视图的位置(通过约束)?右视图有多个可以增长的UILabel,因此我不知道运行时的大小。该容器实际上是一个UITableViewCell。
中心很容易。右视图调整大小,单元格调整为该大小。如果问题太大,问题是需要排在最前面。
答案 0 :(得分:1)
你想要这个:
你可以用两个约束来做到这一点。
您希望绿色视图的顶部大于或等于粉红色视图的顶部,始终。也就是说,您需要green.top ≥ pink.top
。
此外,您希望绿色视图的Y中心等于粉红色视图的Y中心,(如果可能)。也就是说,如果它不违反其他约束,您更喜欢green.centerY == pink.centerY
。
这是故事板编辑器中的第一个约束:
这是第二个约束:
请注意,我已将第二个约束的优先级降低到800,这意味着它不是必需的,但它是首选的。
您不需要编写任何代码来完成这项工作。我在我的演示中编写代码来连接滑块和标签,但我没有必要从代码中修改这两个约束。
答案 1 :(得分:0)
在故事板中,将右视图与左视图顶部对齐。
将值设为
topAlignCons.value= +(leftView.height/2) //in storyboard
以便它与左视图的中心对齐
在视图控制器中为顶部对齐约束创建一个插座。
当左视图的右视图较大时,请将出口约束值更改为0。
topAlignConstraint.constant=@0;
现在它将与左侧视图顶部对齐,没有负值。