我有一个带有默认 View 的 View Controller 。
如果我只想丢弃 View 而不是 View Controller ,可以设置 self.view = nil 吗?因此该 View 被丢弃,新 View 被分配新值。
我想用新的 UI 填充 View ,基于我在 viewdidLoad 中所做的条件。因此,如果我设置 self.view = nil,并尝试从任何地方访问 View ,它将再次创建 View 。因此将设置新属性。
这样做是否正确?或者我必须编写一个单独的方法来使用新属性刷新 View 。
请提供正确的方法。
最佳答案
我认为没有正确的方法,但这里有一些建议。
不要中断 View 生命周期(确保-viewWillAppear:
, -viewDidAppear:
, -viewWillDisappear:
, - viewDidDisappear:
全部调用)。
考虑包含在自定义容器 View Controller 中的多个 View Controller ,而不是交换 View 。它将使每个 View Controller 专注于特定任务。
考虑有一个空的 self.view
并使用 -addSubview:
/-removeFromSuperview
交换内容。这样你就不需要重置 self.view
。
关于ios - 设置 self.view = nil 的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28717295/