iOS7中奇怪的UITabBar颜色不一致

Joe*_*ner 16 objective-c ios7

我正在使用iOS 7 tintColorbarTintColor属性UITabBar在UITabBarController的子类中使用此代码为我着色:

[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:123/255.0 green:47/255.0 blue:85/255.0 alpha:1]];
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:227/255.0 green:180/255.0 blue:204/255.0 alpha:1]];
Run Code Online (Sandbox Code Playgroud)

在三个屏幕上,颜色是我想要的颜色(只有两个图像说明了这一点):

主屏幕 反馈屏幕

一个屏幕,颜色非常轻.这个屏幕是一个UIWebView.

webview屏幕

然后在第四个屏幕上,颜色为SUPER-light.这个屏幕是唯一一个使用故事板的屏幕 - 其余的都是以编程方式完成的.

设置屏幕

我究竟做错了什么?事实上,行为不端的屏幕是一个UIWebView故事板和故事板有什么关系,为什么他们行为不端?我该如何解决它们?我已经摆弄了酒吧的阿尔法,但它并没有改变任何东西.

谢谢你的帮助.

CSm*_*ith 24

你看到标签栏半透明......即背景视图正在渗透并被模糊.如果要禁用此功能,可以执行以下操作:

[tabBar setTranslucent:NO]
Run Code Online (Sandbox Code Playgroud)

在你的标签栏上.

在你的前两个图像中,我不清楚底层视图控制器视图是否是边缘到边缘,即你的前两个图像应该看起来像第四个,因为它们都具有粉红色背景.无论如何,setTranslucent:NO应该让它们看起来像顶部的图像.

  • 你试过`[self.tabBarController.tabBar setTranslucent:NO];`?请记住,`UITabBarController`不是一个`UIView` ...它是一个对象,除了其他职责之外,还管理一个`UITabBar`.您必须深入查看`.tabBar`属性才能进行修改. (2认同)