2012-01-20 2 views
2

UIViewController에 현재 나타나는 경우 기본 작업을 수행하는 메소드가 있습니다. viewDidAppear/viewDidDisappear가 호출되었지만 확인하는 더 좋은 방법/방법이있을 때 BOOL 플래그를 YES/NO로 전환 할 수 있습니까?UIViewController가 나타나는지 확인하는 좋은 방법이 있습니까?

감사합니다.

+1

그런

@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 

... :

거친 예를 http://stackoverflow.com/questions/2777438/how-to-tell -if-uiviewcontrollers-view-is-visible – albertamg

+0

좋은 도움이됩니다. 감사! – evanwong

답변

0

viewDidAppear 방법이 최선의 방법입니다. 그래도 나는 여러 가지 요인에 따라 viewDidAppear/viewDidDisappear이 호출되지 않는 경우를 보았습니다.

그냥 컨트롤을 즐기고 알 수없는 것을 좋아하지 않기 때문에 일반적으로 호출 할 때 모든 설정을 수행하는 컨트롤러에 메서드를 표시하고 컨트롤러가 작동하도록 호출 될 때이 메서드를 호출합니다. . 이 도움이 될

@implementation SomeOtherController 
- (void)someMethod 
{ 
    [self.myController reset]; 

    //present self.myController using some logic 

} 
@end 
관련 문제