故事板 - 动态改变UIView的高度

时间:2016-11-06 07:50:04

标签: ios objective-c uiview storyboard constraints

popup1

enter image description here

popup2

enter image description here

是否可以在故​​事板中创建单个弹出窗口&动态变化 - 发生错误时减少/增加它们的高度(如popup2所示)

我希望有一种正确的方法来创建这样的视图。

2 个答案:

答案 0 :(得分:4)

通过在界面构建器中使用垂直UIStackView,可以轻松实现此目的。例如,我有一个简单的堆栈视图设置,其中包含两个标签:

vertical stack view

现在,在视图控制器中,您只需将错误标签设置为隐藏或不隐藏,堆栈视图将动态处理其余部分。 e.g:

没有隐藏任何东西:

error label showing

隐藏错误标签:

[_errorLabel setHidden:YES];

Error label hidden

答案 1 :(得分:0)

你可以做到。只需在弹出窗口中间放置错误视图,并在发生错误时更改此视图的高度(例如,错误heightConstraint.constant = 50)。

然后致电

[self.view setNeedsUpdateConstraints];
[self.view updateConstraintsIfNeeded];

但重要的是要注意,您应该正确配置所有约束,以便正确拉伸弹出视图。