ios - 设置 self.view = nil 的效果

标签 ios iphone uiview uiviewcontroller

我有一个带有默认 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/

相关文章:

java - 将 libGDX 中的图像保存到 iOS Gallery

iphone - uibutton 和 uilabel 的 UILongPressGestureRecognizer 问题

iPhone 电池续航时间建议

ios - 在 iOS 中管理 subview

ios - Objective-C:使用元素数组设置 alpha 值

ios - 计算并显示为标签

javascript - 在 Cordova/Phonegap 下运行时,点击 contenteditable div 无法定位光标

iphone - iOS - 禁用 UIDocumentInteractionController 选项按钮

iPhone 应用程序 - 为什么我的 CGContext 圆圈看起来像黑色方 block ?

ios - UIView中为什么要引用@UIViewController?