Chcę ustawić tło paska nawigacyjnego na czarny, a wszystkie kolory w nim białe .
Więc użyłem tego kodu:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
Ale przycisk z powrotem kolor tekstu , strzałka i przycisk bar wciąż domyślny kolor niebieski .
Jak zmienić te kolory jak na obrazku poniżej?
Odpowiedzi:
Zachowanie niektórych właściwości
UINavigationBar
zmieniło się z iOS 7 . Możesz zobaczyć na obrazku poniżej:Dwa piękne linki, którymi chciałbym się z tobą podzielić. Aby uzyskać więcej informacji, możesz przejść przez te linki:
Dokumentacja Apple dla barTintColor mówi:
Przykładowy kod :
źródło
[self.navigationController.navigationBar setTitleTextAttributes:@{[UIFont fontWithName:@"YOURFONT" size:14], NSFontAttributeName}];
Zrozumienie tego zajęło mi około pół dnia, ale to zadziałało dla mnie. Wewnątrz rootViewController, który inicjuje nawigacjęController, umieściłem ten kod w mojej metodzie viewDidAppear:
Mój pełny post na ten temat tutaj
źródło
Swift3, ios 10
Aby globalnie przypisać kolor, w AppDelegate
didFinishLaunchingWithOptions
:Swift 4, iOS 11
źródło
Odpowiedź Vin była dla mnie świetna. Oto to samo rozwiązanie dla programistów C # korzystających z Xamarin.iOS / MonoTouch:
źródło
Swift / iOS8
źródło
źródło
Aby zmienić kolor
UINavigationBar
tytułu we właściwy sposób, użyj tego kodu:UITextAttributeTextColor
jest przestarzałe w najnowszej wersji iOS 7. UżyjNSForegroundColorAttributeName
zamiast tego.źródło
Jeśli chcesz zmienić rozmiar i kolor tekstu tytułu , musisz zmienić NSDictionary titleTextAttributes dla 2 jego obiektów:
źródło
Myślę, że poprzednie odpowiedzi są poprawne, to kolejny sposób na zrobienie tego samego. Udostępniam go tutaj innym osobom na wszelki wypadek, jeśli stanie się przydatny dla kogoś. Oto jak możesz zmienić kolor tekstu / tytułu dla paska nawigacyjnego w ios7:
źródło
Wygląda na to, że
Accessibility
kontrolkiiOS Settings
zastępują prawie wszystko, co próbujesz zrobić kolorowo do przycisków paska nawigacyjnego. Upewnij się, że masz wszystkie ustawienia do domyślnych pozycji ( wyłącz ustawienie zwiększania kontrastu, pogrubionego tekstu , kształtów przycisków itp.). W przeciwnym razie nic się nie zmieni. Gdy to zrobiłem, cały kod zmiany koloru zaczął działać zgodnie z oczekiwaniami. Być może nie musisz ich wszystkich wyłączać, ale nie kontynuowałem tego.źródło
Swift 5 / iOS 13
Aby zmienić kolor tytułu w kontrolerze:
źródło