3

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

4

1 回答 1

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

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

更新: 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;
}
于 2012-10-12T08:13:10.723 回答