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

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

iOS框架--Present模态视图的坑儿_第1张图片

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

iOS框架--Present模态视图的坑儿_第2张图片

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会回调

你可能感兴趣的:(iOS框架--Present模态视图的坑儿)