当视图设置为横向模式时,我正在尝试更改UIButton的宽度。但调用该方法是因为我在那里设置了一个断点,但按钮的宽度不会改变。我将一个IBOutlet约束添加到按钮的宽度名为:globalButtonWidthConstraint。
我目前的代码:
- (void)layoutSubviews {
[super layoutSubviews];
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
CGFloat screenH = screenSize.height;
CGFloat screenW = screenSize.width;
BOOL isLandscape = !(self.frame.size.width == (screenW*(screenW<screenH))+(screenH*(screenW>screenH)));
if (isLandscape) {
self.globalButtonWidthConstraint.constant = 100;
[self layoutIfNeeded];
} else {
self.globalButtonWidthConstraint.constant = 47;
[self layoutIfNeeded];
}
}
答案 0 :(得分:4)
尝试更新&#34; viewDidLayoutSubviews&#34;中的约束常量。
-(void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
// Update constraint constant
[self.view layoutSubviews];
}
它对我有用。
编辑:确保没有其他约束与此宽度约束冲突。