UIToolbar在ios 5.0和ios 6.0 Simulator上显示不同的颜色

时间:2012-12-31 07:23:15

标签: iphone ios uisearchbar uitoolbar uitoolbaritem

我为我的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];

5 个答案:

答案 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];