我的SearchBar的TintColor有问题。我在导航栏和搜索栏上使用相同的RGB颜色。如下所示,颜色不一样。
这是我用来设置导航栏的TintColor的代码:
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:34/255.0f green:113/255.0f blue:179/255.0f alpha:1];
这就是我用来设置searchBar的TintColor。
self.mySearchBar.tintColor = [UIColor colorWithRed:34/255.0f green:113/255.0f blue:179/255.0f alpha:1];
所以,正如你所看到的那样,这两行几乎是一样的。关于如何获得相同颜色的任何想法?
非常感谢任何建议!
修改: 我使用XCode 4.3.3开发iOS 4.0,并在iOS 5的设备上测试
答案 0 :(得分:6)
我有类似的问题,这就是我最终做的事情,
[[UISearchBar appearance] setBackgroundImage:[UIImage imageWithColor:[UIColor colorWithRed:34/255.0f green:113/255.0f blue:179/255.0f alpha:1]]];
[[UIToolbar appearance] setBackgroundImage:[UIImage imageWithColor:[UIColor colorWithRed:34/255.0f green:113/255.0f blue:179/255.0f alpha:1]] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
但这种方法的问题在于它不会完全着色。
<强>更新强>
imageWithColor
是UIImage
上的类别。
+ (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}