【发布时间】:2018-05-02 09:12:26
【问题描述】:
我有一个容器视图,它在viewDidLoad 中嵌入了另一个视图控制器。当我隐藏嵌入式视图控制器的视图时,容器视图会保留在屏幕上。嵌入式控制器的视图有一个 Greater or Equal 高度约束,我在隐藏视图时将其设置为 0。
当我隐藏嵌入式控制器的视图时,如何使容器视图隐藏?
编辑:
我意识到我的问题具有误导性。我将嵌入式控制器视图的高度约束设置为 0,并且我希望它的容器高度降低到 0。这是一个错误的假设吗?
如果我将高度约束的关系设置为Equal,它会起作用,如果我将关系更改为Greater Than or Equal,它就会停止工作。
嵌入式控制器的视图层次结构
这是带有容器视图的视图控制器的外观 -
我希望能够更改嵌入在容器视图中的视图的高度约束,并使容器视图匹配新高度(0 或 44,取决于我是否要向用户显示视图。我让该决定在嵌入式控制器的.swift 文件中的viewWillAppear 中)。
这是我在将高度约束设置为 0 时想要看到的 -
我想使用Greater Than or Equal 关系进行高度约束的原因是可访问性。当用户增加字体大小时,我希望嵌入视图的大小增加。
【问题讨论】:
-
其实superview(container, parent)的某些subview(embedded, child)被设置为隐藏时不隐藏是正常的。
-
如果你想隐藏父母你可以调用 self.superview.hidden = YES;
-
@nambatee 你想达到什么目的?
-
@Vyacheslav 编辑了原始问题
标签: ios swift uistoryboard uicontainerview