iOS学习笔记

iOS 视图层级及事件传导chain的理解

2017-08-17  本文已影响0人  飞到哪

在看项目组代码时发现,在使用UIViewController的时候,很多情况下直接将controller的view添加到view上面,不像传统的添加子视图类——addChildViewController。对于这种情况下视图关系感觉有点混乱,之前看的资料一般可以将Controller作为子controller添加到视图当中,然后再把view加进来。但这次发现并没有使用子视图,只是单纯的将view添加进来。这种用法并不知道规不规范,对于其事件的传传导也比较好奇,于是写了一个比较简单的demo,仿制项目的使用场景。

视图层次.jpg

UINavigationController当中有一个UIViewControllerA作为根视图器,UINavigationController其中会push VCB。但UINavigationController并不是作为子Controller添加到UIViewControllerXXX当中,而是将UINavigationController.view添加进来而已。这就导致了事件传送的进制比较奇怪。为了测试这种使用方法,特地写了一个demo。如下图所示:

屏幕快照 2017-08-17 下午10.54.36.png

将NavigationViewContrller的view直接添加到view当中。然后在NavigationControler当中push视图。

在测试的过程中也发现了几个要注意的地方

下面是demo的地址:https://github.com/tornador92/TestSubView

上一篇 下一篇

猜你喜欢

热点阅读