【Bug】UINavigationController调用addChildViewController导致渲染问题

CC:

最近遇到一个黑屏的奇葩问题,周六查了一天才发现核心问题。

问题

UINavigationController在viewDidload或viewWillAppear的时候,对其addChildViewController,会导致UINavigationController的渲染出问题。只有UINavigationBar会渲染出来,content页面是黑屏的。

而在UINavigationController的viewDidAppear中,执行addChildViewController就没问题。

- 谁会这么脑残在UINavigationController上加子vc =_=!

- 想在app内做个悬浮窗口不行啊!

还没找到相关资料,感觉苹果加了特技。有进度再记录。

==========================   分割线  ============================

2017-09-21 更新:

昨天又碰到一个UINavigatinController的坑,已解决,原理尚未搞清楚,记录一下:

UIApplication的初始rootVC是一个UINavigatinController,然后在更换rootVC为一个UIViewController的时候(切换rootVC出现在用户登录登出的场景),对UINavigatinController进行了popViewControllerAnimated:YES的操作,导致内存泄露,UINavigatinController未正常销毁;但是,讲popViewControllerAnimated设置为NO的时候,就不会出现这个问题。

动画影响了UINavigatinController的释放,原理还没搞清楚,先记录,后续在查。

你可能感兴趣的:(【Bug】UINavigationController调用addChildViewController导致渲染问题)