2012-01-20 101 views
2

我有一個UIViewController中的方法來基於它是否正在出現。 當viewDidAppear/viewDidDisappear被調用時,我可以放一個BOOL標誌來切換YES/NO,但有沒有更好的方法來檢查?有沒有好的方法來檢查UIViewController是否出現?

謝謝。

+1

這可能幫助:http://stackoverflow.com/questions/2777438/how-to-tell -if-uiviewcontrollers-view-is-visible – albertamg

+0

這是一個很好的幫助。謝謝! – evanwong

回答

0

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 
相關問題