有没有解决方法没有收到NavBarDelegate回调?我试图在一个测试项目,只是做:没有收到UINavigationBarDelegate回调
[self.navigationController.navigationBar setDelegate:self];
在viewDidLoad中,我确实收到了回调:
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPushItem:(UINavigationItem *)item {
NSLog(@"%s", __FUNCTION__);
return YES;
}
- (void)navigationBar:(UINavigationBar *)navigationBar didPushItem:(UINavigationItem *)item {
NSLog(@"%s", __FUNCTION__);
}
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item {
NSLog(@"%s", __FUNCTION__);
return YES;
}
- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item {
NSLog(@"%s", __FUNCTION__);
}
我没有检查我的ViewController符合本协议的接口。
在viewWillAppear中:,检查我的类符合协议与:
if ([self conformsToProtocol:@protocol(UINavigationBarDelegate)]) {
NSLog(@"yes I conform");
}
而且我得到了的NSLog消息说我的课符合,但我不明白的回调。由于它在测试项目中运行,并且在此不起作用,所以我正在尝试找出其他解决此问题的方法。有什么想法吗?谢谢。
你是否推动或弹出任何物品? –
你提到的'这里'在哪里? – Alexander
@Paul de Lange是的,我喜欢在我的测试项目中按下并弹出。我的测试项目获得回调,但我的真实项目没有。 – Crystal