0

루트 viewcontroller 및 하위 viewcontroller가있는 탐색 응용 프로그램이 있습니다. 자식 -didSelectRowAtIndexPath 메서드에서 다음과 같이 대상/동작이있는 뒤로 단추를 추가합니다. 뒤로 단추를 선택하면 이전 자식보기가 아닌 루트보기로 되돌아 가고 싶습니다. 작업 방법은 발사되지 않는 이유 그러나, 나는 알아낼 수 없습니다 :UINavigationController UIBarButtonItem이 동작 메서드에 응답하지 않습니다.

- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    Question *newQuestion = [[Question alloc] 
          initWithNibName:@"Question" 
          bundle:nil]; 
    newQuestion.testQuestion = self.testQuestion; 
    [self.navigationController dismissModalViewControllerAnimated:YES]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
        initWithTitle:@"Quiz" 
        style:UIBarButtonItemStylePlain 
        target:self 
        action:@selector(backToMenu)]; 

    self.navigationItem.backBarButtonItem = backButton; 
    [backButton release]; 
    [self.navigationController pushViewController:newQuestion 
             animated:YES]; 
    [newQuestion release]; 
} 

을 내 질문 클래스의 상단에, 나는 backToMenu 방법을 포함한다 :

-

(void)backToMenu { 
    NSLog(@" backToMenu"); 
    [self.navigationController popViewControllerAnimated:YES]; 

그러나 -backToMenu는 절대로 실행되지 않습니다. 나는 NSLog 디스플레이를 보지 못했다. -viewWillAppear가 트리거되지만, 뒤로 단추를 누르거나 테이블 행을 선택했기 때문에 내가 거기 있는지 여부를 알 수 없습니다. 아마 당신에게 분명하지만, 난처한 ... thx

답변

0

왜 내가 'Question'화면 및 'backToMenu'방법으로 가정했는지 표시하려는 screnn에 뒤로 버튼을 넣지 마십시오. 유, 나는 BACK 버튼이 스택에 이전보기로 다시 가고 싶지 않아

[self.navigationController popToRootViewControllerAnimated:YES]; 
+0

음을 사용할 수 있습니다, 나는 루트에서 스택과 부하를 지우려면 뒤로 버튼을 wan't. 귀하의 제안을 다른 탐색 모음 버튼 항목으로 사용 하시겠습니까? – Namhcir

관련 문제