Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 视图将仅在调用一次时显示_Iphone_Viewwillappear - Fatal编程技术网

Iphone 视图将仅在调用一次时显示

Iphone 视图将仅在调用一次时显示,iphone,viewwillappear,Iphone,Viewwillappear,下面是场景,switchViewController是添加到主窗口的视图。所以switchViewController是主视图,所以如果我想转到视图B,我将添加视图B的子视图,不需要删除switchViewController的视图,对吗? 问题是在我从视图B返回到switchViewController的视图后,ViewWillAppeard方法不再被调用 为什么会这样?那是因为它从未消失,你只是在它前面放了些别的东西。如果你想从一个屏幕导航到另一个屏幕和返回,它们应该是独立的视图控制器,你应

下面是场景,switchViewController是添加到主窗口的视图。所以switchViewController是主视图,所以如果我想转到视图B,我将添加视图B的子视图,不需要删除switchViewController的视图,对吗? 问题是在我从视图B返回到switchViewController的视图后,ViewWillAppeard方法不再被调用


为什么会这样?

那是因为它从未消失,你只是在它前面放了些别的东西。如果你想从一个屏幕导航到另一个屏幕和返回,它们应该是独立的视图控制器,你应该使用
UINavigationController
和它的
pushViewController:isAnimated:
方法。

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

视图将显示:当视图从视图层次结构中删除或添加到视图层次结构时,不会自动调用
。视图控制器负责在正确的时间调用它。无论何时显示或推送新的视图控制器,内置的视图控制器类都会执行此操作。由于您在应用程序中不使用此机制,因此不会调用该方法(除非您自己调用)。

视图将出现:
在从视图层次结构中删除或添加视图时不会自动调用。视图控制器负责在正确的时间调用它。无论何时显示或推送新的视图控制器,内置的视图控制器类都会执行此操作。由于您在应用程序中不使用此机制,因此不会调用该方法(除非您自己调用)。

它不会被调用,因为您只需修改第一个视图,而不是导航到其他视图

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

调用VIEB。
[navigationController pushViewController:viewB animated:YES];

这并不是因为你只是修改了第一个视图,而不是导航到另一个视图

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

调用VIEB。
[navigationController pushViewController:viewB animated:YES];

您没有卸下开关。。。y视图的视图将显示为不被调用,因为它已显示。您没有删除开关。。。y视图的视图将显示为不被调用,因为它已显示。