2011-02-18 105 views
0

这里是场景,switchViewController是添加到主窗口的视图。因此,switchViewController是主视图,所以如果我想要查看B,我将添加视图B的视图,不需要删除switchViewController的视图吗? 问题是我从视图B回到switchViewController的视图后,viewWillAppear方法不再被调用。viewWillAppear只被调用一次

这是为什么?

+0

你是不是删除开关...查看的Y viewWillAppear中不会被调用,因为它已经出现。 – 2011-02-18 18:09:49

回答

1

这是因为它从来没有消失,你只是把其他东西放在它前面。如果您想从一个屏幕导航到另一个屏幕并返回,它们应该是单独的视图控制器,并且您应该使用UINavigationController及其pushViewController:isAnimated:方法。

2

viewWillAppear:当一个视图被去除或添加到视图层级结构不会自动调用。视图控制器有责任在正确的时间调用它。无论何时呈现或推送新的视图控制器,内置视图控制器类都会执行此操作。由于您不在应用中使用此机制,因此该方法不会被调用(除非您自己调用它)。

0

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

你可能会考虑嵌入导航控制器视图,然后打电话给你ViewB与

[navigationController pushViewController:viewB animated:YES];