viewWillAppear只被调用一次

时间:2011-02-18 18:05:33

标签: iphone viewwillappear

这是场景,switchViewController是添加到主窗口的视图。所以switchViewController是主视图,所以如果我想去视图B,我会添加视图B的视图,有没有必要删除switchViewController的视图吧? 问题是在我从视图B返回到switchViewController的视图后,方法viewWillAppear不再被调用。

为什么会这样?

3 个答案:

答案 0 :(得分:2)

从视图层次结构中删除视图或将视图添加到视图层次结构时,不会自动调用

viewWillAppear:。视图控制器有责任在正确的时间调用它。每当您呈现或推送新的视图控制器时,内置视图控制器类都会执行此操作。由于您未在应用程序中使用此机制,因此不会调用该方法(除非您自己调用它)。

答案 1 :(得分:1)

那是因为它永远不会消失,你只是在它面前放了一些东西。如果您想从一个屏幕导航到另一个屏幕并返回,它们应该是单独的视图控制器,您应该使用UINavigationController及其pushViewController:isAnimated:方法。

答案 2 :(得分:0)

因为你只修改了第一个视图,而不是导航到另一个视图,所以不会被调用。

您可以考虑将视图嵌入到导航控制器中,然后使用

调用ViewB
[navigationController pushViewController:viewB animated:YES];