弹出视图控制器关闭堆栈没有显示导航栏?

时间:2013-04-26 18:49:03

标签: ios objective-c uinavigationcontroller uitoolbar

我已经隐藏了导航栏,所以我可以在那里使用自定义UIToolBar,但是当我将工具栏项的action属性设置为弹出它的方法时,它将无法工作,我认为它可能是因为我藏了导航栏。

这是我的代码:

[toolBarItems addObject:[[UIBarButtonItem alloc] initWithTitle:@"Articles" style:UIBarButtonItemStyleBordered target:nil action:@selector(backButtonTapped)]];

...

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

但没有任何反应。

2 个答案:

答案 0 :(得分:3)

当你的选择器应该是self并且你需要将sender参数放在你的action方法中时,你的选择器的目标是nil!

[toolBarItems addObject:[[UIBarButtonItem alloc] initWithTitle:@"Articles" style:UIBarButtonItemStyleBordered target:self action:@selector(backButtonTapped:)]];

-(void) backButtonTapped: (id) sender {
   //code as before here
}

编辑正如@sulthan所说,发件人参数需要!你可以像以前一样把它留下来!

答案 1 :(得分:0)

我在整个视图上有一个UITapGestureRecognizer拦截了UIBarButton上的点击。我解决了它,感谢this answer,它基本上停止了UITapGestureRecognizer的开始,除非它在UIToolBar之外。