Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.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 为什么ViewDid出现/ViewWill出现在';不能在嵌套结构中调用?_Iphone_Ios_Ipad_Viewdidappear - Fatal编程技术网

Iphone 为什么ViewDid出现/ViewWill出现在';不能在嵌套结构中调用?

Iphone 为什么ViewDid出现/ViewWill出现在';不能在嵌套结构中调用?,iphone,ios,ipad,viewdidappear,Iphone,Ios,Ipad,Viewdidappear,请帮助,如果您有任何经验,我们的时间越来越长。 我有这个结构 AppDelegate... ...Owns a _root ViewController (its view added to window) ...what owns the _main ViewController (its view added to _root's view) ...that has a Navigation controller (its view added to _main's view) ...the

请帮助,如果您有任何经验,我们的时间越来越长。

我有这个结构

AppDelegate...
...Owns a _root ViewController (its view added to window)
...what owns the _main ViewController (its view added to _root's view)
...that has a Navigation controller (its view added to _main's view)
...then different viewControllers travels in this navigation stack.
但是ViewDidAspect/ViewWillAspect方法不会在最里面的视图中被调用。我不知道为什么


当我阅读文档时,它说“当添加到窗口时”。他们是用windows工作的吗?别这么想。我该怎么办?为什么不调用这些关键方法?

框架不允许嵌套视图控制器

是的,苹果确实这样做了(例如,让你在选项卡/导航视图控制器中嵌入一个UIViewController),但是他们会知道如何做

通过将正确的消息从外部视图控制器转发到内部视图控制器,这仍然是可能的,但这需要非常小心,而且可能不是很适合未来。不过,这一次可能会救你!也就是说,如果您获得的视图将显示在您的_根目录中,请将其转发到其子视图控制器,等等。如果您能够对所有外观/消失、旋转、内存管理正确执行此操作,那么您就可以了


两年过去了,现在支持嵌套视图控制器:

我明白了。那么我的桌面viewController也设计错误了?它是一个具有多个_ThumbnailGroupViewController的viewController,具有多个_ThumbnailStackViewController,具有多个小的_ThumbnailViewController。所以所有的内部对象都应该是简单的UIView子类?谢谢!我删除了_rootviewcontroller,所有的逻辑都转到了_mainviewcontroller,这样子客户的委托方法现在就被调用了。是的,由视图控件管理的UIView中的UIView通常会这样做。不幸的是,有时你需要两者兼而有之,这时麻烦就开始了。祝你的重新设计好运。这个回答是不正确的,因为苹果现在已经为添加“子视图控制器”的API祝福了。请看:希望这有帮助