プロジェクトのファイルでマクロを定義できます.pch
が、読み取り、保守、およびデバッグが困難なコードが生成されるため、一般的にはお勧めできません。
あなたの特定のケースでは、にカテゴリを作成したいと思いますUIColor
。
これは、便利な追加のものを含む実装です。
UIColor+Extra.h
#import <UIKit/UIKit.h>
@interface UIColor (Extra)
+ (instancetype)extra_colorWith255BasedRed:(NSUInteger)red green:(NSUInteger)green blue:(NSUInteger)blue;
+ (instancetype)extra_colorWith255BasedRed:(NSUInteger)red green:(NSUInteger)green blue:(NSUInteger)blue alpha:(CGFloat)alpha;
+ (instancetype)extra_colorWithHex:(NSInteger)hex;
@end
UIColor+Extra.m
#import "UIColor+Extra.h"
@implementation UIColor (Extra)
+ (instancetype)extra_colorWith255BasedRed:(NSUInteger)red green:(NSUInteger)green blue:(NSUInteger)blue {
return [self colorWith255BasedRed:red green:green blue:blue alpha:1.0];
}
+ (instancetype)extra_colorWith255BasedRed:(NSUInteger)red green:(NSUInteger)green blue:(NSUInteger)blue alpha:(CGFloat)alpha {
return [self colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:alpha];
}
+ (instancetype)extra_colorWithHex:(NSInteger)hex {
return [UIColor colorWith255BasedRed:((hex & 0xFF0000) >> 16) green:((hex & 0xFF00) >> 8) blue:(hex & 0xFF)];
}
@end
あとは置くだけ
#import "UIColor+Extra.h"
あなたの.pch
ファイルに入れ、他の場所で使用してください。
例
UIColor * cyan = [UIColor extra_colorWithHex:0x00FFFF];
UIColor * magenta = [UIColor extra_colorWith255BasedRed:255 green:0 blue:255];