2012-10-22 3 views
6

내 IOS에서 스토리 보드를 사용하고 있습니다. 첫 번째 화면은 로그인 화면입니다. 사용자가 로그 아웃하거나 로그 아웃되면 깊은 계층 구조의 화면에있을 수 있습니다.초기 스토리 보드로 돌아 가기 로그 아웃시 ViewController

예 : login view controller => 모달보기 컨트롤러 => 탭 표시 줄 컨트롤러 => nav controller =>보기 컨트롤러 =>보기 컨트롤러. 맨 위로보기 컨트롤러에서 맨 아래보기까지 맨 위로 돌아가고 싶습니다.

편집 : enter image description here

감사합니다 다음은 뷰 계층 구조의 다이어그램입니다!

답변

2

이 가정의 모든 일을해야 탐색 스택으로 푸시되었습니다

- (void) popToInitialViewController 
{ 
    UIViewController *vc; 
    if (self.navigationController != nil) { 
     vc = self.navigationController; 
     [self.navigationController popToRootViewControllerAnimated:NO]; 
     [vc popToInitialViewController]; 
    } 
    else if (self.tabBarController != nil) { 
     vc = self.tabBarController; 
     [vc popToInitialViewController]; 
    } 
    else if (self.presentingViewController != nil) { 
     vc = self; 

     while (vc.presentingViewController != nil) 
      vc = vc.presentingViewController; 

     [vc dismissModalViewControllerAnimated:NO]; 

     [vc popToInitialViewController]; 
    } 
} 

댓글 감사합니다 :)

+0

: 내가 일하게 될 것으로 보인다 UIViewControllers에 대한 범주를 썼다

[self.navigationController popToRootViewControllerAnimated:YES]; 

+0

아아, 좋은 다이어그램을 참조하십시오. 로그 아웃시 알림을 게시하려면 NSNotificationCenter를 사용해야 할 수도 있습니다. 첫 번째 모달보기 컨트롤러는 알림을 수신하고 수신 할 때 알림을 무시할 수 있습니다. –

5

왜 작동하지 않았는 지 보여주는 다이어그램으로 업데이트되었습니다.
관련 문제