多视图ViewDidLoad

时间:2014-12-30 00:24:31

标签: ios objective-c uiview

我有一个应用程序,我在一个应用程序中有几个不同的视图。我用view.hidden = YES / NO;在我需要它们时显示这些视图。是否有viewDidLoad可用于显示的每个特定视图,或viewDidAppear ..或者是否假设这些视图已显示或未显示。

谢谢! 乔

2 个答案:

答案 0 :(得分:1)

调用视图控制器的viewDidLoad方法后,self.view - 您的视图控制器的主视图 - 已加载。如果您向其添加了子视图,例如在故事板或loadView中,那些也已加载。

隐藏或取消隐藏这些视图时,没有自动调用的方法。我们希望您知道这种情况何时发生,因为您是这样做的。

如果需要,可以为每个视图创建视图控制器属性,然后覆盖setter。然后你的setter会在它发生时收到通知。

创建属性:

@property (nonatomic, assign) BOOL someviewIsHidden;

覆盖二传手:

- (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
}

答案 1 :(得分:0)

在调用view.hidden = yes / no来执行你想要的代码后,你需要调用一个方法,无论如何,视图都没有告诉你。另一方面,假设它们已经被加载,因为为了使它们能够可见,你必须使用initWithFrame:或类似的东西来初始化它们。