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时一切正常,还未有时机详细研究,也不忍瞎猜,暂留存疑,待查吧。 :)