2
我有一个UIViewController中的方法来基于它是否正在出现。 当viewDidAppear/viewDidDisappear被调用时,我可以放一个BOOL标志来切换YES/NO,但有没有更好的方法来检查?有没有好的方法来检查UIViewController是否出现?
谢谢。
我有一个UIViewController中的方法来基于它是否正在出现。 当viewDidAppear/viewDidDisappear被调用时,我可以放一个BOOL标志来切换YES/NO,但有没有更好的方法来检查?有没有好的方法来检查UIViewController是否出现?
谢谢。
viewDidAppear
方法是你最好的选择。不过,我已经看到一些边缘案例,其中viewDidAppear
/viewDidDisappear
不取决于各种因素。
仅仅因为我喜欢这个控件而不喜欢任何未知的东西,我通常会在我的控制器中公开一个方法,它会在调用时执行所有的设置,当我知道我的控制器被调用时会调用此方法。
一个粗糙例如:
@interface MyController: UIViewController
- (void)reset;
@end
@implementation MyController
- (void)reset
{
//Set some defaults, do some logging, etc
}
- (void)viewDidAppear
{
[self reset];
}
- (void)viewDidLoad
{
[self reset];
}
@end
则...
@implementation SomeOtherController
- (void)someMethod
{
[self.myController reset];
//present self.myController using some logic
}
@end
这可能帮助:http://stackoverflow.com/questions/2777438/how-to-tell -if-uiviewcontrollers-view-is-visible – albertamg
这是一个很好的帮助。谢谢! – evanwong