2013-09-04 8 views
5

Moja aplikacja na iPada Mam kilka UButtonów, które po naciśnięciu domyślnie zmieniają kolor na niebieski. Mogłem przejść przez każdego z nich i ustawić tintColor używając:Ustaw domyślny kolor tinty dla wszystkich UIButtonów w aplikacji

[buttonName setTintColor:[UIColor colorWithRed:151/255.0f green:202/255.0f blue:86/255.0f alpha:1.0]]; 

Ale jest tam mimo zmieniających się ten kolor domyślnie dla wszystkich przycisków?

Czy mimo to zmieniasz ten kolor?

+2

Spójrz na [UIAppearance Protokołu] (https://developer.apple.com/library/ios/documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html) – Lefteris

+0

Dzięki - to wygląda idealnie . Czy mogę zmienić plik UIAppearance.h? Czy mogę umieścić linię domyślnego koloru tinty w innym miejscu? – RGriffiths

+0

Nawet jeśli preferowanym wyborem jest UIAppearance, dowiedziałem się, że zmieniając projekt na iOS 7, ich wygląd zmienia się bardzo często i wygląda zupełnie inaczej niż został zaprojektowany. Poza tym chciałbym również spróbować podklasy zgodnie z sugestiami, ja również polecam przetestować aplikację z iOS 7, jeśli wybierzesz UIAppearance. Ponadto, jeśli zmienisz wygląd, zmienisz dla wszystkich przycisków w aplikacji, nie ma możliwości zastosowania do ograniczonego zestawu. – Leonardo

Odpowiedz

11

używają protokołu UIAppearance:

[[UIButton appearance] setTintColor:[UIColor colorWithRed:151/255.0f green:202/255.0f blue:86/255.0f alpha:1.0]]; 
+0

Dzięki. Jak mój komentarz powyżej - czy zmienić wygląd.h? Spojrzałem na to, ale mówi, że jest zamknięty. – RGriffiths

+0

nie musisz zmieniać żadnych plików nagłówkowych, po prostu umieść tę linię w metodzie AppDelegate didFinishLaunchingWithOptions. – peko

+0

Nie można (i nie można) edytować Appearance.h bezpośrednio, ponieważ jest częścią pakietu SDK iOS. Będziesz musiał dodać kod sugerowany przez peko do jednego z twoich plików. Prawdopodobnie w klasie, która byłaby używana do takiego stylu aplikacji. –

1

Mógłbyś podklasować uibutton i ustawić kolor tam, gdzie chcesz. Następnie każdy przycisk z tej klasy będą miały ten sam kolor

+0

Podklasy do zmiany tylko kolor nie jest ogólnie dobrym pomysłem. – faviomob

25

Jeśli używasz storyboardy i Xcode 5.0 lub nowszej, najprostszym sposobem, aby to zrobić, to otworzyć swój storyboard w Xcode i ustaw kolor globalny odcień w Inspektorze plików w obszarze Utility. Zobacz ilustrację poniżej.

Setting the Global Tint in the File Inspector

Powiązane problemy