iOS中TabBar背景图片不显示问题的解决

版权声明:大熊猫猪·侯佩原创或翻译作品.谢绝转载! hopy https://blog.csdn.net/mydo/article/details/82978393

App中计划使用UITabBarController(后面简称为TBVC)的自定义子类来实现根VC.

在这里插入图片描述

因为调试目的,开始是将TBVC当做一个子VC来使用,即用占位VC作为根VC,然后点击按钮切换到TBVC,这样一直都没什么问题…一直到…

将占位VC甩开,直接使用TBVC当做根VC,这时出现问题了:

在这里插入图片描述

可以看到TabBar背景图片没有显示了!!!显得很突兀…

因为TBVC代码压根就没有任何改变,所以开始怀疑是在根VC初始化时,Assets还未准备好,不能访问其中的图片资源。但又一寻思,不对啊:TabBar按钮图片也是从Assets中取的,不是好好的?

只有背景图片显示不出来,这不寻常。

按照惯例,首先怀疑是初始化时显示的时机不合适,遂将设置背景图片代码放到如下方法中后,一切正常:

override func viewWillLayoutSubviews() {
    self.tabBar.backgroundImage = UIImage(named: "background_dark")
}

至于为什么TBVC当做子VC时一切正常,还未有时机详细研究,也不忍瞎猜,暂留存疑,待查吧。 :)

猜你喜欢

转载自blog.csdn.net/mydo/article/details/82978393