我已经隐藏了导航栏,所以我可以在那里使用自定义UIToolBar,但是当我将工具栏项的action属性设置为弹出它的方法时,它将无法工作,我认为它可能是因为我藏了导航栏。
这是我的代码:
[toolBarItems addObject:[[UIBarButtonItem alloc] initWithTitle:@"Articles" style:UIBarButtonItemStyleBordered target:nil action:@selector(backButtonTapped)]];
...
- (void)backButtonTapped {
[self.navigationController popViewControllerAnimated:YES];
}
但没有任何反应。
答案 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之外。