Optische Erweiterung der Navigation Bar

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Optische Erweiterung der Navigation Bar

    Bei einer iPhone App möchte ich die Navigation Bar optisch erweitern, also nach unten hin "vergrößern".

    Dazu habe ich in dem angezeigten View Controller an die obere Kante des Views eine UINavigationBar platziert. Bei der Navigation Bar des Navigation Controllers habe ich dann vor der Anzeige dieses View Controllers bei der UINavigationBarAppearance shadowColor und shadowImage auf nil gesetzt. Funktioniert wunderbar und sieht auch gut aus, als ob die Navigation Bar ein Stück weiter nach unten geht.

    Dies funktioniert von iOS 10-13 sehr gut, wenn da nicht iOS 14 wäre. :(

    Dort hat die, quasi als Hintergrund, platzierte UINavigationBar keine Hintergrundfarbe und auch kein shadowImage oder shadowColor. Unter iOS 14 sieht es so aus, als würde die UINavigationBar überhaupt keinen Hintergrund zeichnen.

    Ich könnte der UINavigationBar zwar eine feste barTintColor zuweisen, welche dann auch gezeichnet wird, aber welche? Diese soll ja zur Navigation Bar des Navigation Controllers passen.

    Ich habe es alternativ mal mit einer UIToolbar anstelle einer UINavigationBar probiert. Dies passt zwar farblich sehr gut, allerdings hat die Toolbar die "Trennlinie" oben und nicht unten. ;(

    Update: Ab iOS 14 benötigt eine UINavigationBar anscheinend ein UINavigationItem, damit der Default Hintergrund der Navigation Bar gezeichnet wird.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MCDan ()