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