Mam wiele kontrolerów widoku i chcę ustawić kolor wszystkich czcionek na czerwony.
[[UINavigationBar appearance] setFont:[UIFont boldSystemFontOfSize:12.0]];
zgłasza nierozpoznany błąd selektora.
Jak mogę to naprawić?
ios5
uinavigationbar
uiappearance
carbonr
źródło
źródło
Odpowiedzi:
Ray Wenderlich:
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
Lub jeśli wolisz styl literału obiektowego:
Edytuj na iOS 7 i nowsze
UITextAttributes są przestarzałe, ponieważ iOS 7 można użyć następujących elementów:
źródło
if ([navBarInstance respondsToSelector:@selector(appearance)])
najpierw, ponieważ spowoduje to awarię wersji iOS poniżej 5.UITextAttributeTextColor
został wycofany na korzyśćNSForegroundColorAttributeName
iOS 7W przypadku celów wdrożenia większych lub równych iOS 6 należy
NSShadow
zamiast tego użyć :źródło
Robi to na iOS 8+ oraz w Swift. Nie ma znaku
setTitleTextAttributes
dla obiektu wyglądu. Zamiast tego zrób to:źródło
Zrobiłem to, dodając zaledwie kilka wierszy kodu w klasie AppDelegate.m didFinishLaunchingWithOptions metoda: Użyj tego kodu:
mi to pasuje...
źródło
Jeśli musisz to zrobić w Swift, możesz utworzyć rozszerzenie dla UINavigationBar, aby umożliwić pobieranie lub konfigurowanie tych ustawień.
Następnie możesz ustawić kolor i czcionkę w następujący sposób:
źródło
titleColor
lubtitleFont
indywidualnie. Jeśli użyjesz ich razem, przyself.titleTextAttributes
każdym wywołaniu jednej ze zmiennych zostanie ustawiona nowa wartość. Setter prawdopodobnie mógłby uzyskać inną wartość podczas tworzenia nowego słownika.Można to wykorzystać do ustawienia widoku niestandardowego na pojedynczy pasek nawigacji zamiast ustawienia globalnego
źródło
Użyj tej linii kodu
Myślę, że to ci pomoże.
źródło