【发布时间】:2013-11-26 19:29:16
【问题描述】:
在某些情况下,我在 iOS 7 上的标签栏上缺少背景。查看屏幕截图:
我将 UITabBarController 子类化并以模态方式呈现我的子类:
[self.navigationController presentViewController:tabBarController animated:NO completion:nil];
有时,虽然很少见,但背景不会出现在我的标签栏上,我可以看穿它。没有半透明视图 - 只是透明...
我已经使用优秀的Reveal app 进行了调试,发现当我观察到问题时,运行时UITabBar 中缺少_UITabBarBackgroundView(它应该是UITabBar 的子视图)。值得一提的是,当背景丢失时,UITabBar 中也会丢失 UIImageView。
我很茫然。什么可能导致标签栏缺少其 _UITabBarBackgroundView 子视图?
【问题讨论】:
-
如果您将标签栏子类化,是设置背景还是默认设置?我猜一个止损选项可能是在你的子类中设置值 [tab.tabBar setBackgroundImage:[UIImage imageNamed:@"tabBackground.png"]]; [tab.tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"tabbaritemSelected.png"]];
-
文件名是什么,你在设置什么
-
@rydgaze 我没有设置背景——这只是默认设置。你是说我应该将图像添加到我的名为 tabBackground.png 和 tabbaritemSelected.png 的项目中,或者这些图像以某种方式存在于 iOS 内部?
-
@Daij-Djan 该类是 GMTabBarController,我正在做一个 alloc init,然后将 viewControllers 设置为我的五个视图控制器。仅此而已 - 我没有设置任何其他内容。
-
@josh 是的,因为它看起来确实像一些时髦的 ios7 行为,所以在理解这个问题之前提供你自己的背景可能会更好。
标签: ios objective-c