从一个视图导航到另一个视图,当我弹出我的视图时,viewWillAppear方法没有调用。
你可以告诉我原因。答案 0 :(得分:0)
第一次调用viewWillAppear方法时加载View?尝试使用
[[self navigationController] popViewControllerAnimated:TRUE];
返回
答案 1 :(得分:0)
如果你做得很好,你的应用程序崩溃了一些地方,使用断点和检查,即使你可以检查并按照这些步骤......
步骤1.推送FirstViewController
SecondViewController *second = [[SecondViewController alloc]init]
[self.navigationController pushViewController:second animated:TRUE];
步骤2.弹出SecondViewController
//检查应用程序堆栈中是否存在导航控制器
NSArray *arrView = [self.navigationController viewControllers];
NSLog(@"arrView %@",arrView);
for(int i = 0; i <[arrView count]-1, i++)
{
if([arrView objectAtIndex:i] isKindOfClass:[FirstViewController class])
{
[self.navigationController popViewControllerAnimated:TRUE];
}
}
答案 2 :(得分:0)
这些问题通常是由于视图控制器包含的不当使用造成的。您需要查看视图控制器层次结构并研究以下方法:
[UIViewController addChildViewController:];
[UIViewController removeFromParentViewController:];
[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]
[UIViewController willMoveToParentViewController:]
[UIViewController didMoveToParentViewController:]
的实施容器视图控制器部分
答案 3 :(得分:-1)
我也遇到过这种情况。 在iOS 5中,没关系。 但是当我在iOS 4.3.1中测试时,viewWillAppear没有调用。
所以你需要手动调用viewWillAppear
你可以试试这个
[[self.navigationController.viewControllers objectAtIndex:0] viewWillAppear:YES];
[self.navigationController popViewControllerAnimated:YES];