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的基础知识。我将看一看如下教程,了解如何绘制所需的精确渐变:
如果我理解你的意思,你可能想阻止梯度。你试过了,但是如果可能的话,我更喜欢“反”梯度