Je pense que la façon la plus simple de le faire serait de créer une catégorie sur la classe UIColor et de créer une méthode de classe dessus. Par exemple:
Placez ce fichier dans un en-tête (par exemple UIColor + CustomColors.h):
@interface UIColor (CustomColors)
+ (UIColor *)myCustomColor;
@end
Placez ce dans un fichier de mise en œuvre (par exemple UIColor + CustomColors.m)
@implementation UIColor (CustomColors)
+ (UIColor *)myCustomColor
{
return [UIColor colorWithRed:0.2 green:0.5 blue:0.2 alpha:1.0];
}
@end
Ensuite, vous avez accès à la méthode de classe n'importe où dans votre code comme suit:
...
self.view.backgroundColor = [UIColor myCustomColor];
...
Voir Apple's documentation on Categories pour plus d'informations.
Vous pouvez également enregistrer des nuances de couleur dans la palette de couleurs du système. Pour ce faire, il vous suffit d'appeler la palette de couleurs du système, de sélectionner une couleur et de la faire glisser dans la grille de couleurs.
Ces couleurs sont désormais disponibles non seulement dans tous les documents Interface Builder que vous créez, mais dans toute application utilisant la palette de couleurs du système.
color palette http://img.skitch.com/20091030-dhh3tnfw5d8hkynyr7e5q3amwg.png
Merci pour votre réponse. En fait, j'aurais aimé définir la couleur dans IB, pas dans le code (ce qui signifie que je veux éviter self.backgroundColor = myColor). Mais si j'utilise une couleur personnalisée de la palette de couleurs comme vous le mentionnez, et si je veux modifier à l'avenir le pourcentage de bleu de ma couleur par exemple, je devrais toujours faire le changement manuellement dans IB partout la couleur personnalisée est utilisé ... Je garde ma solution #define pour le moment, cela me permet d'économiser du temps de refactoring ... – Unfalkster