UINavigationController UIBarButtonItem 不响应操作方法



我有一个带有根视图控制器和子视图控制器的导航应用程序。在子-didSelectRowAtIndexPath方法中,我添加一个带有目标/操作的后退按钮,如下所示:选择后退按钮后,我想返回到根视图,而不是(以前的)子视图。但是,我不知道为什么操作方法没有触发:

- (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被触发,但我不知道如何判断我在那里是因为按下后退按钮还是选择了表格行。对你来说可能很明显,但我被难住了...感谢

你为什么不把你的后退按钮放在你想让它显示的 screnn 上,我假设了"问题"屏幕,在"backToMenu"方法中,你可以使用

[self.navigationController popToRootViewControllerAnimated:YES];

相关内容

  • 没有找到相关文章

最新更新