Myślę, że najłatwiej to zrobić, to stworzyć kategorię w klasie UIColor i stworzyć metoda klasy na nim. Na przykład:
umieszczaj w pliku nagłówka (np UIColor + CustomColors.h):
@interface UIColor (CustomColors)
+ (UIColor *)myCustomColor;
@end
Place to w pliku wdrażania (np UIColor + CustomColors.m)
@implementation UIColor (CustomColors)
+ (UIColor *)myCustomColor
{
return [UIColor colorWithRed:0.2 green:0.5 blue:0.2 alpha:1.0];
}
@end
Następnie masz dostęp do metody klasy w dowolnym miejscu kodu:
...
self.view.backgroundColor = [UIColor myCustomColor];
...
Zobacz Apple's documentation on Categories, aby uzyskać więcej informacji.
Można również zapisać próbki kolorów za pomocą palety kolorów systemowych. Aby to zrobić, po prostu wywołaj paletę kolorów systemu, wybierz kolor i przeciągnij go do siatki kolorów.
Te kolory są teraz dostępne nie tylko w każdym stworzonym dokumencie programu Interface Builder, ale także w dowolnej aplikacji korzystającej z systemowej palety kolorów.
color palette http://img.skitch.com/20091030-dhh3tnfw5d8hkynyr7e5q3amwg.png
Dzięki Ci odpowiedzieć. Właściwie chciałbym ustawić kolor w IB, a nie w kodzie (co oznacza, że chcę uniknąć self.backgroundColor = myColor). Ale jeśli użyję niestandardowego koloru z palety kolorów, o czym wspomniałeś, i jeśli chcę zmienić w przyszłości procent niebieskiego mojego koloru, na przykład, nadal będę musiał ręcznie zmienić w IB wszędzie kolor niestandardowy jest używany ... Na razie trzymam moje rozwiązanie #define, oszczędza mi to żmudnego czasu refaktoryzacji .... – Unfalkster