objective-c – 用于设置RGB颜色的宏比UIColor好吗?

objective-c – 用于设置RGB颜色的宏比UIColor好吗?,第1张

概述我的头文件中有这个宏: #define UIColorFromRGB(rgbValue) \ [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ 我的头文件中有这个宏:

#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好吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1067442.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存