私が他のプロジェクトで使用したアプローチの 1 つは、ProjectStyle.h ファイルを作成することです。このファイルには、カスタム カラーやその他のスタイル関連の定数の #defines が含まれています。インポートするだけです。
何かのようなもの:
ProjectStyles.h
#define RED_HEADER_COLOR [UIColor colorWithRed:0.8f green:0.1f blue:0.1f alpha:0.9f]
#define RED_BACKGROUND_COLOR [UIColor colorWithRed:0.9f green:0.3f blue:0.1f alpha:1.0f]
#define PRIMARY_FONT [UIFont fontWithName:@"HelveticaNeue-Bold" size:12.0f]
UIColor または UIFont オブジェクトの定数インスタンスを作成する場合は、対応する .m ファイルを作成することもできます。
ProjectStyles.m
+ (UIColor *) redHeaderColor
{ return [UIColor colorWithRed:0.8f green:0.1f blue:0.1f alpha:0.9f]; }
+ (UIColor *) redBackgroundColor
{ return [UIColor colorWithRed:0.9f green:0.3f blue:0.1f alpha:1.0f]; }
+ (UIFont *) primaryFont
{
static UIFont *font = nil;
if ( font == nil )
font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:12.0f];
return font;
}
そしてもちろん、それらをヘッダーに公開します
ProjectStyle のようなアプローチで私が気に入っているもう 1 つの点は、しばらくすると、色だけでなく、カスタム フォント、カスタム ライン、シャドウなどのカスタムが必要になることです。これらすべてのものを配置する Style クラスまたはヘッダーを持つことで、あらゆる種類のものに対して既に定義されているカスタム要素を 1 か所で検索できます。また、後のコーダーがカスタム情報を一元化してフォローバックするための非常に明白な #import が提供されます。 .
カスタム要素をカテゴリに配置するだけでは、カスタマイズが複数のカテゴリに広がり、他のサードパーティ ライブラリとのカテゴリ名の衝突の可能性 (ほとんどの場合リモート) になります。