Jak zmienić kolor paska nawigacji w iOS 7?
Zasadniczo chcę osiągnąć coś takiego, jak pasek nawigacji Twittera (na to zaktualizowano Twittera iOS7
). Wbudowałem pasek nawigacyjny na szczycie view controller
. Chcę tylko zmienić kolor paska nawigacyjnego na jasnoniebieski wraz z paskiem narzędzi u góry. Nie mogę znaleźć opcji w swoim storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Patricio Guerra
źródło
źródło
Odpowiedzi:
Zachowanie się
tintColor
pasków zmieniło się w iOS 7.0. Nie wpływa już na tło paska.Z dokumentacji:
Odwołanie do klasy barTintColor
Kolor odcienia do zastosowania na tle paska nawigacji.
Dyskusja
Domyślnie ten kolor jest półprzezroczysty, chyba że ustawisz właściwość półprzezroczystą na
NO
.Dostępność
Dostępne w iOS 7.0 i nowszych.
Zadeklarowano w
UINavigationBar.h
Kod
Możemy również użyć tego do sprawdzenia wersji iOS, jak wspomniano w Przewodniku przejścia interfejsu użytkownika w systemie iOS 7
EDYCJA Za pomocą xib
źródło
Wykonanie tego, co pierwotne pytanie - aby uzyskać wygląd starego paska nawigacji Twittera, niebieskie tło z białym tekstem - jest bardzo łatwe do wykonania po prostu za pomocą Konstruktora interfejsów w Xcode.
To powinno zapewnić ci to, czego chcesz. Oto zrzut ekranu, który ułatwiłby sprawdzenie, gdzie wprowadzić zmiany.
Pamiętaj, że zmiana tylko odcienia paska nie zmienia koloru tekstu na pasku nawigacji lub pasku stanu. Styl również musi zostać zmieniony.
źródło
Default
iBlack
nadal są dostępne w iOS 9. Te przestarzałe sąBlackOpaque
iBlackTranslucent
zostały zastąpione kombinacjąBlack
stylu i półprzezroczystego pola wyboru. UIBarStyle w witrynie Apple dla programistówźródło
W aplikacji opartej na nawigacji możesz umieścić kod w AppDelegate. Bardziej szczegółowy kod może być:
źródło
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
na iOS 7W
viewDidLoad
, ustaw:Zmień (
blueColor
) na dowolny kolor, jaki chcesz.źródło
Aby szybko zmienić kolor paska nawigacji:
zmień tytuł czcionki, rozmiar, kolor:
źródło
W iOS 7 musisz użyć właściwości -barTintColor:
źródło
Jeśli chcesz użyć kodu szesnastkowego, oto najlepszy sposób, aby to zrobić.
Najpierw zdefiniuj to na górze swojej klasy:
Następnie w „aplikacji didFinishLaunchingWithOptions” umieść to:
Umieść kod szesnastkowy zamiast 00b0f0.
źródło
Jeśli potrzebujesz obsługi ios6 i ios7, otrzymujesz ten konkretny jasnoniebieski, używając tego w UIViewController :
źródło
To w rzeczywistości łatwiejsze niż odpowiedzi, które tu widziałem:
Mam nadzieję, że to komuś pomoże. Nie podobały mi się odpowiedzi, które widziałem. Lubię dbać o to, aby mój kod był jak najbardziej czysty. Nie mówię, że programowanie jest niewłaściwe, ale są ludzie tacy jak ja ... to jest dla was.
źródło
Aby uzupełnić kod Rajneesh071, możesz również ustawić kolor tytułu paska nawigacji (i czcionkę, jeśli chcesz), ponieważ domyślne zachowanie zmieniło się z iOS 6 na 7:
źródło
Dodaj tylko ten kod w swoim
ViewContorller
lub w swoimAppDelegate
źródło
źródło
W aplikacji nawigacyjnej możesz zmienić kolor
źródło
źródło
To pytanie i odpowiedzi są pomocne. Dzięki nim mogłem ustawić pożądany ciemnoniebieski
navigationBar
kolor z białym tytułem i tekstem przycisku.Ale musiałem też zmienić zegar, nośną, siłę sygnału itp. Na biały. Czarny po prostu nie kontrastował wystarczająco z ciemnoniebieskim.
Ja mogę pominąć faktu, że rozwiązanie w jednym z poprzednich odpowiedzi, ale udało mi się dokonać takiej zmiany przez dodanie tej linii do mojego najwyższego poziomu
viewController
„sviewDidLoad
:źródło
UIStatusBarStyleLightContent
działa, ale wydaje się, że właściwym wyliczeniemsetBarStyle:
jestUIBarStyleBlack
źródło
Dla koloru:
Do obrazu
źródło