ios - 多个 View ViewDidLoad

标签 ios objective-c uiview

我有一个应用程序,我在一个应用程序中有几个不同的 View 。我使用 view.hidden = YES/NO;在我需要显示这些 View 时显示这些 View 。是否有一个 viewDidLoad 我可以用于显示的每个特定 View ,或者 viewDidAppear ..或者是否假设这些 View ,无论是否显示,都已经加载。

谢谢! 乔

最佳答案

一旦您的 View Controller 的 viewDidLoad 方法被调用,self.view - 您的 View Controller 的主视图 - 已经加载。如果您向其添加 subview ,例如在 Storyboard或 loadView 中,它们也会被加载。

当您隐藏或取消隐藏这些 View 时,不会自动调用任何方法。预计您会知道何时会发生这种情况,因为您就是这样做的人。

如果需要,您可以为每个 View 创建 View Controller 属性,然后覆盖 setter 。然后你的 setter 会在它发生时得到通知。

创建属性:

@property (nonatomic, assign) BOOL someviewIsHidden;

覆盖 setter :

- (void) setSomeviewIsHidden:(BOOL)someViewIsHidden {
    _someViewIsHidden = someViewIsHidden; // Set the iVar backing the property
    self.theview.hidden = someViewIsHidden; // Hide (or unhide) the view

    // Do whatever else you want when this property is changed
}

关于ios - 多个 View ViewDidLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697976/

相关文章:

javascript - 等待网站完成加载所有 javascript

iphone - 我在 Xcode 4.5.2 中收到 'deprecated' 警告

ios - 使用 OpenCV 从 UIImage 中检测图像对象

iphone - Objective-C 定义

ios - 在上下文中绘制 View ,这是什么意思?

ios - 尝试从 plist 加载数据并刷新屏幕

升级到 IOS 4.2 后,iPhone View 无法加载

iOS 13 SplitViewController 问题

c++ - 检测 CPU 子类型 iPhone

ios - UIView 变透明后如何检测手势?