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

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

推荐阅读更多精彩内容

  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 8,925评论 2 4
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,216评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,527评论 25 709
  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 5,206评论 0 2
  • 最近在读李笑来老师的《把时间当作朋友》,文中很多观点引起我的深思,顿觉自己需要做出些改变。 首先他明确的告诉我,时...
    elina_zml阅读 2,999评论 0 0