我用故事板和我基本上有这样的: 注册的UINavigationController委托
它的呈现模式地用UIViewController子类作为其contentViewController(位置)一个UINavigationController一个MapView。然后,LocationViewController根据表格选择(EditLocation)推送另一个viewController。
在EditLocation中,我想在调用popViewController时传回信息。我认为我可以使用UINavigationControllerDelegate来做到这一点。所以在Location中,我尝试:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"ShowEditLocation"]) {
UIViewController *destination = segue.destinationViewController;
if ([destination respondsToSelector:@selector(setDelegate:)]) {
[destination setValue:self forKey:@"delegate"];
}
}
}
此Location类符合UINavigationControllerDelegate协议。然而,我从来没有从UINavigationController协议获得willShowViewController或didShowViewController回调。思考?谢谢!