有没有简单的方法将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