2012-07-02 4 views
0

내 응용 프로그램에는 navigation controller이 있습니다. 뒤로 버튼을 추가하여 (UIViewController) 로그인 화면으로 이동했습니다. navigation controller에서 로그인 화면으로 돌아가려면 어떻게해야합니까?내비게이션 컨트롤러

내 뒤로 버튼 코드입니다.

(void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemCancel target:self action:@selector(goBacktoLogin)]; 

    self.navigationItem.leftBarButtonItem = backButton; 

} 

(void) goBacktoLogin 

{ 

    LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 

[[ self navigationController] popToViewController:loginViewController animated:YES]; 


} 

나는 다음과 같은 오류가 점점 오전 :

* Terminating app due to uncaught exception 'NSInternalInconsistencyException',

reason: 'Tried to pop to a view controller that doesn't exist.'

+0

항상 로그인보기는 처음이며, 더 많은 탐색 수준을 가질 수 있습니다 그것의 클릭에

이 명령을 실행할? – sergio

답변

1

다시 탐색 계층 구조에서 첫 번째 뷰 컨트롤러로 이동해야하는 경우는 다음 사용

[self.navigationController popToRootViewControllerAnimated:YES]; 
0

귀하의 질문을 나에게 분명하지 않다. 그러나 나는이 도움이 될 생각이를 사용하여 탐색 스택에

푸시 로그인 컨트롤러,

LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 

self.navigationController pushViewController:loginViewController animated:NO]; 

하고 밀어 화면 (로그인 뷰 컨트롤러)에

:

푸시 다른 컨트롤러. 그런 다음 뒤로 버튼을 추가하십시오.

[self.navigationController popViewControllerAnimated:YES]; 
관련 문제