我有一个应用程序,我在一个应用程序中有几个不同的视图。我用view.hidden = YES / NO;在我需要它们时显示这些视图。是否有viewDidLoad可用于显示的每个特定视图,或viewDidAppear ..或者是否假设这些视图已显示或未显示。
谢谢! 乔
答案 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:或类似的东西来初始化它们。