我为我的UIToolBar设置了tintcolor。它在ios 6.0中正确显示,但在ios 5.0模拟器上显示黑色。我的代码在这里
originalBounds = mysearchBarBarItem.customView.bounds;
mySearchBar.bounds = CGRectMake(0,0,215,44);
myTopToolbar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:NAVIGATION_BAR_BACKGROUND]];
myTopToolbar.barStyle = UIBarStyleDefault;
mySearchBar.barStyle = UIBarStyleDefault;
mySearchBar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:NAVIGATION_BAR_BACKGROUND]];
[myTopToolbar setItems:toolBarItemsArray animated:YES];
答案 0 :(得分:2)
我不知道这是否会产生影响,但您可以尝试更改指定条形图样式和颜色的顺序。尝试:
myTopToolbar.barStyle = UIBarStyleDefault;
myTopToolbar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:NAVIGATION_BAR_BACKGROUND]];
更改色调后分配样式可能会重置颜色。
修改强>
为什么这只会影响ios5,而不会影响我不知道的ios6。
答案 1 :(得分:2)
您可以使用UIAppearance
(适用于iOS 5.0及更高版本)。
答案 2 :(得分:1)
尝试设置颜色属性
myTopToolbar.tintColor = [UIColor redColor];
如果这在iOS6和iOS5中都能正常工作,那么问题应该在图像中。
<强>被修改强> 检查这个问题
iphone:UIToolbar when set to tint color behaves differently on iOS 5 and ios6 simulator?
答案 3 :(得分:1)
尝试在您的app委托实现类中执行此操作,这将在整个应用程序中更改toolBar和searchBar颜色
用于设置搜索栏的色调
[[UISearchBar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:NAVIGATION_BAR_BACKGROUND]]];
OR
[[UISearchBar appearance] setTintColor:[UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1]];
用于设置工具栏的色调
[[UIToolbar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:NAVIGATION_BAR_BACKGROUND]];
OR
[[UIToolbar appearance] setTintColor:[UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1]];
用于设置背景图像
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"bgtoolbar.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
答案 4 :(得分:0)
我已经解决了它。刚将Image转换为RGB值并设置如下。
myTopToolbar.tintColor = [UIColor colorWithRed:139/256.0 green:0/256.0 blue:0/256.0 alpha:1.0];