【发布时间】:2011-09-07 15:05:36
【问题描述】:
为什么在myViewController的导航栏中按下返回按钮时没有调用viewWillDisapper?
TheController *theController = [[TheController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:theController];
self.naviController = aNavigationController;
[aNavigationController release];
[theController release];
[self.view addSubview:naviController.view];
// 这是TheController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MyViewController *myViewController = [[MyViewController alloc] init];
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];
}
// 这是 MyViewController.m。 MyViewConroller 是 UIViewController 的子类。
- (void)viewWillDisappear:(BOOL)animated {
// I want to override back button behavior. But, this is not called.
}
也不调用viewWillAppear、viewDidAppear、viewDidDisappear、viewDidUnLoad。
【问题讨论】:
-
您是否将 UINavigationController 的视图添加为其他视图的子视图?
-
MyViewController 真的有视图吗?
-
我确实为 MyViewController 的父级添加了SubView。我编辑了那部分。
-
因为 MyViewController 是 UIViewController 的子类,所以它有视图。除了这个问题,它工作正常。
标签: iphone