Lassen Sie die Navigationsleiste hinter der Statusleiste in xCode 5 / iOS7 strecken

7

Ich habe das folgende Tutorial verfolgt, um meine Navigationsleiste nach unten zu verschieben, so dass sie in xcode 5 / ios7 nicht von der Statusleiste abgedeckt wird:

Statusleiste und Navigationsleiste Problem in IOS7

Aber jetzt in iOS7 gibt es oben eine leere Stelle, wo die Statusleiste wäre und ich möchte, dass die Navigationsleiste auch diesen Bereich füllt

Zum Beispiel haben Facebook / twittter / Instagram iOS7 Apps den Navigationsleistenhintergrund auch hinter der Statusleiste. Wie erreiche ich das?

Tut mir leid, wenn ich nicht klar bin, aber ich bin wirklich bestrebt, das zu sortieren

Danke!

    
Omar 27.09.2013, 22:28
quelle

2 Antworten

22

Sie möchten barPosition von UINavigationBar festlegen.

Sie können dies im Code tun:

Lassen Sie Ihren ViewController dem Protokoll UINavigationBarDelegate entsprechen und implementieren Sie positionBar: metod. (Das Protokoll, das Sie wirklich brauchen, ist UIBarPositioningDelegate , aber UINavigationBarDelegate erweitert es.)

%Vor%

ODER im Storyboard:

Fügen Sie im Identity Inspector von UINavigationBar ein benutzerdefiniertes Laufzeitattribut mit KeyPath = barPosition, Type = Number und Value = 3:

hinzu

    
Carien van Zyl 05.02.2015 14:50
quelle
0

Wenn Sie eine UINavigationBar mit einem benutzerdefinierten Hintergrundbild hinter der UIStatusBar in iOS 7 dehnen möchten, beachten Sie Folgendes:

  1. Die UIStatusBar ist so transparent wie sie ist.
  2. Legen Sie die Eigenschaft barPosition der UINavigationBar auf UIBarPositionTopAttached fest
  3. Die Hintergrundbilder der UINavigationBar in iOS 7 (wenn UIBarPositionTopAttached) haben andere Dimensionen als vorher iOS 7 und Sie müssen sie verwenden: jetzt beträgt die Höhe 64 Punkte

Im Code ( iPhone NUR ):

%Vor%

Wenn Sie nur die Hintergrundfarbe der UINavigationBar ändern möchten, wird sie automatisch hinter der UIStatusBar erweitert.

Im Code:

%Vor%     
Jarig 28.09.2013 11:12
quelle