我有一个应用程序,我在一个应用程序中有几个不同的 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/