2014-12-20 24 views
8

Próbuję znaleźć sposób na radzenie sobie z wieloma celami (wdrażam wiele aplikacji z jednego projektu), nie wiem jak zdefiniować UIColor i użyć to w storybooku (mogę zrobić to dobrze dla UIImage). Moim pomysłem jest zmiana wartości tego koloru zgodnie z celem za pomocą makr, ktoś wie, czy to możliwe?iOS - Storyboard - Użyj programowo definiować kolor w palecie konfiguracji storyboardu

Być może zdefiniować kolor:

var myColor : UIColor 
#ifdef target1 
myColor = UIColor(red: 249.0/255, green: 249.0/255, blue: 249.0/255, alpha: 1.0) 
#ifdef target2 
myColor = UIColor(red: 210/255, green: 100/255, blue: 90/255, alpha: 1.0) 
#endif 

lub duplikat storyboard mieć jeden storyboard przez cel. Użyj info-target1.plist, info-target2.plist?

I nazywają tę zmienną „MyColor” w serii ujęć

Jeśli nie ma rozwiązania, myślę, że trzeba ustawić wszystkie atrybuty: kolor, czcionkę, rozmiar, programowo, a nie w serii ujęć.

Jaką metodę należy zastosować?

Dzięki

Odpowiedz

2

Jeśli nie ma rozwiązania, myślę, że trzeba ustawić wszystkie atrybuty: kolor, czcionkę, rozmiar, zaplanowany i nie jest w serii ujęć.

Nie ma możliwości zmiany kolorów ani innych atrybutów scen scenopisów na podstawie parametrów kompilacji. Zwykle właściwym sposobem podejścia do czegoś takiego jest użycie UIAppearance w celu nadpisania atrybutów, które chcesz zmienić. W skrócie, każda klasa implementująca protokół UIAppearance może dostarczyć obiekt proxy, który pozwala dostosować cechy, których będzie używać klasa. Na przykład, jeśli chcesz zmienić kolor paska nawigacyjnego w swojej aplikacji, definiować myColor warunkowo jak zrobiłeś, a następnie użyć UINavigationBar „s wygląd proxy, aby ustawić kolor odcień:

[[UINavigationBar appearance] setBarTintColor:myColor];