大佬教程收集整理的这篇文章主要介绍了ios – 如何以编程方式动态地对UIButton的背景图像进行着色?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于按钮,所有着色都不起作用.必须在此处提供正确着色的背景图像.但是为每个人准备一套背景图像只是第二好的.它不够动态和灵活.
最后,解决方案可能归结为为所选和正常状态提供一个单色(灰色)梯度图像,并使用COreGraphics或OpenGL以编程方式对图像着色.但坦率地说,我不知道从哪里开始.渐变应该如何,然后我将如何以任何给定的颜色以编程方式着色?
几乎适用于UISegmentedControls,只是有点复杂. :)任何涵盖UISegementedControls的通用解决方案也非常感谢.
- (UIImage *)TintedImageWithColor:(UIColor *)TintColor { UIGraphicsBeginImageCo@R_674_10443@tWithOptions(self.size,NO,[[UIScreen mainScreen] scale]); CGCo@R_674_10443@tRef co@R_674_10443@t = UIGraphicsGetCurrentCo@R_674_10443@t(); CGCo@R_674_10443@tTranslateCTM(co@R_674_10443@t,self.size.height); CGCo@R_674_10443@tScaleCTM(co@R_674_10443@t,1.0,-1.0); CGRect rect = CGRectMake(0,self.size.width,self.size.height); // draw alpha-mask CGCo@R_674_10443@tSetBlendMode(co@R_674_10443@t,kCGBlendModeNormal); CGCo@R_674_10443@tDrawImage(co@R_674_10443@t,rect,self.CGImagE); // draw Tint color,preserving alpha values of original image CGCo@R_674_10443@tSetBlendMode(co@R_674_10443@t,kCGBlendModesourceIn); [TintColor setFill]; CGCo@R_674_10443@tFillRect(co@R_674_10443@t,rect); UIImage *coloredImage = UIGraphicsGetImageFromCurrentImageCo@R_674_10443@t(); UIGraphicsEndImageCo@R_674_10443@t(); return coloredImage; }
这将拍摄图像并使用给定颜色的alpha值填充所有区域.
以上是大佬教程为你收集整理的ios – 如何以编程方式动态地对UIButton的背景图像进行着色?全部内容,希望文章能够帮你解决ios – 如何以编程方式动态地对UIButton的背景图像进行着色?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。