我的 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 的设备上进行了测试

最佳答案

我有类似的问题,这就是我当时所做的,

[[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];

但是这种方法的问题是它不会被完全着色。

更新:imageWithColorUIImage 上的类别。
+ (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;
}

关于iphone - SearchBar TintColor 没有应用正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12854532/

10-12 03:38