iOS框架--Present模态视图的坑儿

1.PresentVC与RootVC的关系:rootVC的view从window上移除,而presentedVC的view贴在了window上,但rootVC通过presentedViewController属性持有了presentedVC

2. 一般是最外层容器containerVC负责present,childVC的present效果都一样。每个childVC的presetedViewController指向同一个对象,而被presentedVC以及它的childVC的presentingViewController也都指向containerVC

3. 同一时刻只能present一个,只有当前的被dismiss后才能present下一个

4. dismiss后立即present下一个没有效果,一定要在dismiss的completion中执行,否则就跟第3条一样了。因为立即dismiss后,presentedVC还没didDisapear(即使没有动画),持有关系也没销毁,也就不能present下一个

5. 若A present了B ,而B没有present其他的,则A和B都可以调用dismiss,效果一致都是切回A。若关系为 A—>B—>C, 则用A dismiss能切回A,用B dismiss则回到B。

6. 同时对一个VC进行多次dismiss,只有第一个的completion会回调

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。