
#define UIcolorFromrGB(rgbValue) \ [UIcolor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ blue:((float)(rgbValue & 0xFF))/255.0 \ Alpha:1.0]
我在我的.m文件中使用此类似的东西:
cell.textcolor = UIcolorFromrGB(0x663333);
所以我想问一下每个人都这样更好还是我应该使用这种方法:
cell.textcolor = [UIcolor colorWithRed:66/255.0 green:33/255.0 blue:33/255.0 Alpha:1.0];
哪一个更好的方法?
解决方法 中间地带可能是您的最佳选择.您可以定义常规C或Objective-C函数来执行宏现在正在执行的 *** 作:// As a C function:UIcolor* UIcolorFromrGB(NSInteger rgbValue) { return [UIcolor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 Alpha:1.0];}// As an Objective-C function:- (UIcolor *)UIcolorFromrGB:(NSInteger)rgbValue {return [UIcolor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 Alpha:1.0];} 但是,如果您决定坚持使用宏,则应将括号放在rgbValue的任何位置.如果我决定用你的宏调用:
UIcolorFromrGB(0xFF0000 + 0x00CC00 + 0x000099);
你可能会遇到麻烦.
最后一点代码当然是最具可读性的,但可能是最不便携的 – 你不能简单地在你的程序中的任何地方调用它.
总而言之,我建议将宏重构为一个函数并将其保留在该函数中.
总结以上是内存溢出为你收集整理的objective-c – 用于设置RGB颜色的宏比UIColor好吗?全部内容,希望文章能够帮你解决objective-c – 用于设置RGB颜色的宏比UIColor好吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)