2011-12-17 6 views
0

다른 뷰 (viewA)에서 pushViewController를 사용하여 내비게이션 컨트롤러를 사용하여 푸시되는 뷰 (viewB)가 있는데, 어떤 이유로 든 뷰브의 컨트롤러를 팝업으로 표시하려고합니다. (어떤 응용 프로그램에서도 충돌이 발생하지 않습니다.) 즉, 아무 것도 일어나지 않습니다. 즉, 버튼을 누르면 단순히 [self.navigationController popViewControllerAnimated:YES];을 호출하는 IBAction이있는 viewB에 UIButton이 있습니다. 즉, [self.navigationController popViewControllerAnimated:YES];을 사용하여 viewDidLoad 메서드 또는 viewDidAppear 메서드 내부에서보기를 사용할 수 있습니다. 그것은 작동 할 것이고,보기는 이전의보기에서 끝내게된다!! 이 IBAction은 팝업이 현재보기와 모든 하위보기를 메모리에서 해제하기 때문에 viewDidLoad 또는 viewDidAppear 메서드에서 [self.navigationController popViewControllerAnimated:YES];을 제거하면 작동합니다. 질문은 viewDidLoad 또는 viewDidAppear 메서드 내부에서 이전 뷰 (viewA)로 현재 뷰 (viewB)를 팝핑 할 수있는 방법은 무엇입니까?popViewControllerAnimated를 배치 : viewDidLoad 또는 viewDidAppear에서 작동하지 않습니다

미리 감사드립니다.

답변

4

시도 만드는 방법

- (void)popSelf { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

viewDidAppear에서 그것이 viewDidAppear 후 수행 할 수 있도록

[self performSelector:@selector(popSelf) withObject:nil afterDelay:0.0f]; 

이, runloop하는 선택기를 추가합니다 추가합니다.

+0

황소의 눈 ... 위대한 .. 감사합니다 백만 명의 친구 .. – JAHelia

관련 문제