我有一个名为VC1的视图控制器的uinavigation控制器,现在我在VC1中有一个按钮,当我点击他时我去查看控制器VC2,这就是我把VC2带到屏幕的方式:
VC2 *tmp = [[VC2 alloc]init];
[[self navigationController] pushViewController:tmp animated:YES];
[tmp release];
现在当我点击导航的后退按钮上的VC2返回到VC1的工作但我放入了VC2 viewDidDisappear和viewWillDisappear方法,当我点击后退按钮时这个功能不会被调用,任何人都有任何想法?
答案 0 :(得分:1)
你可能从UINavigationControllerDelegate
回调手动调用视图[..]方法,但这是确保方法被{{1的超级实现调用的方法的最简单方法只是在分配UINavigationController
时手动调用它们。
请在此处查看我的回答:iPhone viewWillAppear not firing
因此,在您致电UINavigationController
之后,请务必致电
navController = [[UINavigationController alloc] init..
这应该确保将来事件正确地转发到每个视图控制器。
答案 1 :(得分:-1)
如果要调用viewWillDisappear / viewDidDisappear方法,则视图控制器必须先手动执行此操作,然后才能从导航堆栈中弹出。看看this ,你可能会知道如何做到这一点。