请提供帮助。
答案 0 :(得分:1)
我想,现在你有这样的约束(1):
H:| - (0) - [order] - (0) - [reservation] - (0) - ],order.width = reservations.width
您应该创建其他约束,例如:(2):
H:| [订单] [约束] |
H:| [约束] [保留] |
,其中约束在按钮和superview的相应边界之间,并且常量= 0。 然后你应该将它们的优先级设置为小于主要约束(1)(例如990)。
在这种情况下,当您隐藏按钮时,我们的附加约束将变为活动状态,并使按钮填充所有宽度。
答案 1 :(得分:0)
您可以参考下面的github example.it将帮助您。 https://github.com/jrturton/UIView-Autolayout
答案 2 :(得分:0)
如果我理解正确,你想要做的是当你隐藏button1(订单)时,button2(预订)应该展开,其最终宽度应该是(原始)button1 + button2,这是正确的吗?
如果是这种情况,您可以执行以下操作:
使用这组约束,当您将button1的宽度约束的常量更改为0时,button2应该扩展为所需的大小。
答案 3 :(得分:-1)
使用以下链接
下载github中的文件https://github.com/damienromito/UIView-UpdateAutoLayoutConstraints
#import "UIView+UpdateAutoLayoutConstraints.h"
采取如下的2个NSLayoutConstraints
IBOutlet NSLayoutConstraint *orderHeightCons;
IBOutlet NSLayoutConstraint *reserHeightCons;
IBOutlet UIButton orderBtn,reservationBtn;
//Then connect at IB both Constraint & Buttons. Use Below Code For Hiding the Order Button & Modifying the Width for Reservation Button
orderBtn.hidden=YES;
//Hide Order Button..change value as per ur button height
[orderBtn setConstraintConstant:0 forAttribute:NSLayoutAttributeHeight];
//if constraint doesn't exist, it will be created..change value as per ur button width
[orderBtn setConstraintConstant:0 forAttribute:NSLayoutAttributeWidth];
//you can use tools to hide
[orderBtn hideByHeight:YES];
//Modify Reservation Button..change value as per ur button height
[reservationBtn setConstraintConstant:100 forAttribute:NSLayoutAttributeHeight];
//if constraint doesn't exist, it will be created..change value as per ur button width..(button1+button2) height value
[reservationBtn setConstraintConstant:200 forAttribute:NSLayoutAttributeWidth];
[reservationBtn hideByHeight:NO];
希望它对你有帮助..!