【问题标题】:Storyboard - dynamically change height of UIViewStoryboard - 动态改变 UIView 的高度
【发布时间】:2017-03-19 17:33:01
【问题描述】:

弹出窗口1

弹出窗口2

是否可以在情节提要中创建单个弹出窗口并动态更改 - 发生错误时降低/增加其高度(如 popup2 所示)

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

【问题讨论】:

    标签: ios objective-c uiview storyboard constraints


    【解决方案1】:

    轻松实现此目的的一种方法是在界面生成器中使用垂直UIStackView。例如,我设置了一个包含两个标签的简单堆栈视图:

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

    不隐瞒:

    隐藏错误标签:

    [_errorLabel setHidden:YES];
    

    【讨论】:

      【解决方案2】:

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

      然后调用

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

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

      【讨论】:

      • 好的。我会试试这个。
      • 但这不会增加容器视图的高度,也就是弹出窗口本身。
      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 2016-04-02
      • 2019-07-16
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多