Ios UITabBarItem选择图像着色颜色。如何找到要设置为tintcolor的颜色

Ios UITabBarItem选择图像着色颜色。如何找到要设置为tintcolor的颜色,ios,cocoa-touch,uitabbaritem,tintcolor,Ios,Cocoa Touch,Uitabbaritem,Tintcolor,我正在使用我的TabBarController中的selectedImageTintColor属性来更改所选TabBarItem的颜色 问题是,设置为tintcolor的颜色在更改之前不是应用的最终颜色(它会得到某种渐变) 我的问题是,是否可以找到作为tintcolor应用的颜色,以获得您知道的最终颜色 例如,我希望所选项目的最终颜色为 [UIColor colorWithRed:(154.0/255.0) green:(213.0/255.0) blue:(0.0) alpha:(1.0)

我正在使用我的
TabBarController
中的
selectedImageTintColor
属性来更改所选
TabBarItem
的颜色

问题是,设置为
tintcolor
的颜色在更改之前不是应用的最终颜色(它会得到某种渐变)

我的问题是,是否可以找到作为
tintcolor
应用的颜色,以获得您知道的最终颜色

例如,我希望所选项目的最终颜色为

[UIColor colorWithRed:(154.0/255.0) green:(213.0/255.0) blue:(0.0) alpha:(1.0)

属性
selectedImageTintColor
应该设置什么颜色的RGB?

iOS不提供修改色调渐变的api。不过,苹果的文档建议使用setFinishedSelectedImage:和finishedSelectedImage:方法


如Ankit所述,您最好使用

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage
不过,我很感激您需要一个UIImage才能做到这一点。如果您的设计师不能提供这一点,您可以做的就是在代码中绘制自己的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;
}
显然,这段代码并没有为您绘制渐变,但它向您展示了绘制UIImage的基础知识。我将看一看如下教程,了解如何绘制所需的精确渐变:


如果我理解你的意思,你可能想阻止梯度。你试过了,但是如果可能的话,我更喜欢“反”梯度