2011-09-01 6 views
1

내 응용 프로그램은 내 응용 프로그램에서 하나의보기를 기반으로보기를 표시하지만이 메서드는 호출하지 않습니다. 내 코드는- (void) viewWillAppear : (BOOL) animated가 호출되지 않았습니다.

-(void)viewWillAppear:(BOOL)animated 
{ 
    NSLog(@"view will Appear"); 
    [tableView reloadData]; 
} 

누구나 viewWillAppear 메서드가 호출되지 않는 이유를 알 수 있습니까?

죄송합니다. 죄송합니다.이 메서드는 처음 호출하지만이 뷰에서 하위 뷰를 제거하면 viewWillAppear이 호출되지 않습니다. 제발이 문제를 해결하는 방법을 제안하십시오.

+0

시도이이 http://stackoverflow.com/questions/131062/iphone-viewwillappear-not-firing –

답변

0

안녕하세요 저는 여기에 대신

[self.view addSubview:viewcontroller.view]; 

내가 이것을 사용했다.

-(void)viewWillAppear:(BOOL)animated 
{ 
    NSLog(@"==========view will appear"); 
} 
2
-(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    NSLog(@"view will Appear");  
    [tableView reloadData]; 
} 

여전히 호출하지 않고 코드를 통해 호출하려는 경우 [classobj viewWillAppear : NO];

+0

덕분에 좀보고 있지만 내 문제는 viewWillAppear 메소드가 호출되지 해결되지 않습니다. – Vijay

+0

시도해주세요. http://stackoverflow.com/questions/131062/iphone-viewwillappear-not-firing – PJR

0

viewWillAppear 및 기타 관련 메소드는 mainWindow의 rootViewController와 연결된 viewcontroller에 호출됩니다. 뷰 기반 응용 프로그램을 사용하는 경우 첫 번째보기 컨트롤러의 viewWillAppear 메서드가 제대로 작동하고 다른 뷰 컨트롤러는 사용하지 않습니다.

0

나는 당신이보고있는 문제는 UIViewController에있는 방법이고 UIView에있는 방법이 아니라는 것입니다. viewWillAppear:이 뷰 컨트롤러에서 호출되어 컨트롤러의 뷰가 표시됨을 나타냅니다.

UIView에 기반한 클래스에 위의 코드를 추가 한 경우 해당 코드는 호출되지 않습니다. 해당 코드를보기 컨트롤러로 이동해야합니다. 또는 UIView 기반 클래스에 didMoveToSuperview 메서드를 구현하여 원하는 결과를 얻을 수도 있습니다.

didMoveToSuperview보기가 addSubview:을 사용하는 다른보기에 추가되면보기에서 호출됩니다.

[self presentModalViewController:viewcontroller animated:YES]; 

지금 내 문제가 해결이 방법을 쓰기 :

관련 문제