1

我想只使用宏函数 RGBCOLOR(R, G, B) 重写颜色常数值

我的代码是:

#define kBasketEditedQuantityBorderColor  [UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1]
4

3 回答 3

6

可以直接在 Objective-C 中使用 C 宏函数

#define RGBCOLOR(r, g, b) [UIColor colorWithRed:r/225.0f green:g/225.0f blue:b/225.0f alpha:1]

RGBCOLOR(25.0f, 25.0f, 114.0f) 

我希望这将实现您的目标。

例如:[yourView setBackgroundColor:RGBCOLOR(25.0f, 25.0f, 114.0f)];

http://www.codeproject.com/Articles/8376/Function-like-Macros-vs-Inline-Functions

于 2013-07-25T13:18:18.520 回答
2

示例 1:

#define RGBCOLOR(R,G,B) [UIColor colorWithRed:R/255.2f green:G/255.2f blue:B/255.2f alpha:1];

-用法:RGBCOLOR(243,243,243);

示例 2:

#define RGBCOLOR(R,G,B) [UIColor colorWithRed:R green:G blue:B alpha:1];

- 用法:RGBCOLOR (0.95,0.95,0.95);

两个示例具有相同的结果,取决于您要使用的值范围 0-1 或 0-255

于 2013-07-25T16:26:27.600 回答
0

这可以帮助你

#define HEXCOLOR(c) [UIColor colorWithRed:((c>>24)&0xFF)/255.0 green:((c>>16)&0xFF)/255.0 blue:((c>>8)&0xFF)/255.0 alpha:((c)&0xFF)/255.0];

// usage:
UIColor* c = HEXCOLOR(0xff00ffff);
于 2013-07-25T12:59:24.523 回答