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的释放,原理还没搞清楚,先记录,后续在查。
网友评论