2012-02-22 3 views
0

다른 뷰로 이동 한 경우 및 뷰 뷰를 다시 열 때 viewWillAppear 메서드가 호출되지 않습니다.viewWillAppear 메서드가 iPhone SDK를 호출하지 않습니다.

이유를 알려주세요.

+3

의 컨테이너보기 컨트롤러 섹션을 구현하는 읽기

[UIViewController addChildViewController:]; [UIViewController removeFromParentViewController:]; [UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:] [UIViewController willMoveToParentViewController:] [UIViewController didMoveToParentViewController:] 

을보기 어떻게하는지 등 수여된다. – rckoenes

+2

뷰 자체에는 해당 기능이 없으며 viewcontroller만이 해당 기능을 수행합니다. 따라서 addSubview/removeFromeSuperview를 수행 할 때 호출되지 않습니다. ViewController를 push/pop하고 있다면, 어떻게하는지 보여줄 필요가있다. –

+0

하나의 viewcontroller에서 다른 뷰 컨트롤러로 푸시합니다. – user1179681

답변

0

처음로드 할 때 viewWillAppear 메서드가 처음으로 호출됩니까? 사용해 보자.

[[자가 navigationController] popViewControllerAnimated : TRUE];

다시

-1

돌아갑니다 나는이 상황을 만났다. iOS 5에서는 괜찮습니다. 그러나 iOS 4.3.1에서 테스트 할 때 viewWillAppear이 호출하지 않습니다.

그래서 당신도 확인할 수 있으며, u는 잘 UR 응용 프로그램이 어떤 곳에 사용 중단 점을 추락하고 확인보다 수행하는 경우 수동으로

당신이

[[self.navigationController.viewControllers objectAtIndex:0] viewWillAppear:YES]; 
[self.navigationController popViewControllerAnimated:YES]; 
+0

여기에 우리의 문제는 두 개의 뷰 컨트롤러에서 너무 많은 탐색이 있습니다. 다시 버튼 컨트롤러에서 이것을 호출해야한다고 말한 것입니다. 그걸 실행하고 우리는 그것을 원하지 않는다. 우리는 마지막 백 버튼 핸들러에 대해서만이 메소드를 호출하려고한다. – user1179681

+0

당신은'viewWillAppear :'를 수동으로 호출해서는 안된다; 발견되고 다루어 져야 할 더 깊은 문제가 있습니다. – titaniumdecoy

0

을 시도 할 수 viewWillAppear를 호출 할 필요 다음 단계 ...... FirstViewController

SecondViewController *second = [[SecondViewController alloc]init] 
[self.navigationController pushViewController:second animated:TRUE]; 
에서 푸시에 대한

1 단계를 따릅니다 SecondViewController

// 체크 탐색 컨트롤러에서 팝에 대한

2 단계 UR 애플리케이션 스택에 존재

NSArray *arrView = [self.navigationController viewControllers]; 

NSLog(@"arrView %@",arrView); 

for(int i = 0; i <[arrView count]-1, i++) 
{ 
    if([arrView objectAtIndex:i] isKindOfClass:[FirstViewController class]) 
    { 
     [self.navigationController popViewControllerAnimated:TRUE]; 
    } 
} 
0

그것은 이러한 문제가 뷰 컨트롤러 억제의 부적절한 사용으로 인해 발생되는 전형적인입니다. 당신은 당신의 뷰 컨트롤러 계층 구조를 살펴볼 필요가 다음과 같은 방법 연구 : 우리는 좀 더 많은 정보가 필요합니다 UIViewController Class Reference.

관련 문제