【问题标题】:Switch ViewControllers of different heights in Container View在Container View中切换不同高度的ViewController
【发布时间】:2017-11-09 04:24:11
【问题描述】:

我有一个要求,我必须根据 ViewController 中的选定选项加载不同的 UI。这是表示

Option1 和 Option2 是单选按钮,用户一次只能选择一个选项。根据选择,必须使用不同的文本字段更新以下区域。

所以,我在选项下方创建了一个视图作为容器。为 Option1 和 Option2 创建了两个带有 textFields 的 ViewController,这将添加一个子视图控制器到 containerView。下面是mainViewController的层次结构

--> 查看

-----> 滚动视图

------------> 内容视图

------------------> 标签

------------------> 标签

------------------> 选项1

------------------> 选项2

------------------> 容器视图

根据选择的选项,我将各自的 viewController 作为 childViewController 加载到 containerView。

需要注意的是,option1和option2的字段数不同,containerView的高度要根据选中的option子视图的个数来调整,使整个屏幕可以滚动。

我无法根据其中的字段(子视图)数量调整选项 1 和选项 2 视图控制器的大小。

如何根据字段数调整childViewControllers的高度并设置containerViews的高度?

或者实现这种设计的更好方法是什么?

【问题讨论】:

  • 您是否有足够的垂直空间来容纳完整的“选项 2”视图?如果是这样,那么只需在将视图添加到容器视图时调整视图的大小。如果没有,您可能需要使用滚动视图。

标签: ios swift autolayout uicontainerview childviewcontroller


【解决方案1】:

如何根据字段数调整 childViewControllers 的高度

这取决于子视图控制器中的内容。

设置 containerViews 的高度?

将子视图添加到容器后。调用 containerView.sizeToFit() 它将调整其大小以适应子视图。

注意:请确保您对容器视图没有限制其高度的约束,否则它将无法调整。

https://developer.apple.com/documentation/uikit/uiview/1622630-sizetofit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-08
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    相关资源
    最近更新 更多