有没有简单的方法将UIColor转换为十六进制值?
或者我们是否必须使用CGColorGetComponents获取RGB组件,然后从那里开始工作?
或者我们是否必须使用CGColorGetComponents获取RGB组件,然后从那里开始工作?
例如CGColorGetComponents(color.CGColor)[0] * 256?
解决方法
我会考虑使用Erica Sadun的UIColor类别.它包括许多免费的功能,包括十六进制表示.它非常易于使用,只需将其添加到您正在使用它的任何类头中,或者将其添加到预编译的头文件中以获得最大的灵活性.
如果您要添加到预编译的标头,请执行类似以下操作:
如果您要添加到预编译的标头,请执行类似以下操作:
#ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "UIColor-Expanded.h" #endif
那么你可以像NSLog一样使用它(@“%@”,[myColor hexStringFromColor]);
GitHub链接到UIColor类别:https://github.com/erica/uicolor-utilities
ArsTechnica关于它的文章:http://arstechnica.com/apple/guides/2009/02/iphone-development-accessing-uicolor-components.ars