有沒有解決方法沒有收到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