IOS- Anpassen der Navigationbar mit Swift

Version vom 14. Mai 2020, 13:35 Uhr von Deko (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Symptom

Das Anpassen der iOS Navigationbar über das Storyboard ist nicht immer ganz einfach. Ich zeige Ihnen einen Weg, wie Sie diese programmatisch anpassen können.

Ursache und Lösung

• Anpassen des Fonts
• Anpassen der Hintergrundfarbe
• Anpassen des Farbtons der Navigationbar Items, z.B. Back Button

IOS_NavigationBar.png


Ändern des Fonts
Die Veränderungen sollten Sie in der ViewDidLoad Methode machen. Die View wurde noch nicht geladen und ist noch nicht sichtbar. Das ist genau der richtige Zeitpunkt, um die Anpassungen vorzunehmen. Die iOS Navigationbar sprechen Sie folgender Maßen an:

self.navigationController?.navigationBar.titleTextAttributes

titleTextAttributes erwartet ein Array mit Font Attributen, z.B. [ NSFontAttributeName: UIFont(name: „Zapfino“, size: 16.0)!]
Der komplette Code sieht so aus:

self.navigationController?.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: „Zapfino“, size: 16.0)!]

Der Font sollte nun in Zapfino angezeigt werden.

Ändern der Hintergrundfarbe
Die Hintergrundfarbe sprechen Sie so an:

self.navigationController?.navigationBar.barTintColor

Wie barTintColor schon vermuten lässt, wird hier ein UIColor Objekt erwartet, z.B. UIColor.orangeColor(). Der vollständige Code sieht so aus: Den Farbton sprechen Sie so an:

self.navigationController?.navigationBar.tintColor

Wie barTintColor, benötigt auch tintColor ein UIColor Objekt, wie z.B. UICo-lor.whiteColor(). Der vollständige Code sieht so aus:

self.navigationController?.navigationBar.barTintColor = UIColor.orangeColor()

Ihre Navigationbar sollte nun Orange eingefärbt worden sein.

Ändern des Farbtons
Den Farbton sprechen Sie so an:

self.navigationController?.navigationBar.tintColor

Wie barTintColor so benötigt auch tintColor ein UIColor Objekt, wie z.B. UICo-lor.whiteColor(). Der vollständige Code sieht so aus:

self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()

Ihre Navigationbar Items sollten nun eingefärbt sein.

Hier noch einmal der ganze Code in XCode:

Vollständiger_Code_in_Xcode.png

Weitere Informationen

Mehr Informationen zu unseren Softwarelösungen und Services finden Sie auf
www.max-it.de/Softwarelösungen

Links und Quellen

www.developer.apple.com/library/safari/documentation/UserExperience/Conceptual/MobileHIG/Bars.html

Kontakt

Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns:
techcorner@max-it.de.

Über m.a.x. Informationstechnologie AG:
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.

Tags

iOS, swift, navigationbar, xcode