我有两个按钮,我希望将它们作为一个组保持在超级视图中。
以可视格式表示我希望|-*-[button1]-5-[button2]-*-|
之类的内容*
应该相等,并由AutoLayout自动确定。
我目前有三种解决方法,看起来都不是很优雅
制作UIView的两个按钮子视图,并将视图中心视为
手动计算*
的值并手动更新约束
将两个按钮对齐到superview的中心,并根据按钮宽度手动计算偏移量
还有其他建议吗?
答案 0 :(得分:2)
我认为我过于关注将两个按钮的中心对齐到他们的超级视图。当我开始考虑边缘时,我想出了这个
[NSLayoutConstraint constraintWithItem:button1
attribute:NSLayoutAttributeRight
relatedBy:NSLayoutRelationEqual
toItem:superview
attribute:NSLayoutAttributeCenterX
multiplier:1
constant:-2.5]];
[NSLayoutConstraint constraintWithItem:button2
attribute:NSLayoutAttributeLeft
relatedBy:NSLayoutRelationEqual
toItem:superview
attribute:NSLayoutAttributeCenterX
multiplier:1
constant:2.5]];
这使两个按钮居中于superview
,中间间距为5.
答案 1 :(得分:0)
您可以将虚拟元素(隐藏视图)居中,然后向左和向右偏移每个按钮。