add UIImageView, das die Navigationsleiste abdeckt

8

Ich denke, ich vermisse hier etwas Einfaches. Ich muss eine halbtransparente UIImageView erstellen, die den gesamten Bildschirm einschließlich der Navigationsleiste abdeckt. Wie mache ich das?

Das ist, was ich versuche zu tun ...

    
Eric 15.01.2012, 00:06
quelle

2 Antworten

17

Dies ist eine mögliche Lösung:

%Vor%

BEARBEITEN:

  • Es ist wahrscheinlich, dass Sie den Alpha-Wert für das Overlay nicht festlegen würden, sondern stattdessen ein transparentes PNG mit eingebetteten Transparenzstufen verwenden. Trotzdem ist es eine Möglichkeit.
  • Wenn Sie ARC nicht verwenden, sollten Sie [overlay release] .
  • verwenden
magma 15.01.2012, 00:17
quelle
1

Um die obige Antwort ein wenig zu fokussieren, müssen Sie sich nur darüber im Klaren sein, wie die Ansichten zu welchen Teilen des Bildschirms des Geräts "gehören".

Der entscheidende Punkt ist, dass in einer Navigationsansicht die Navigationsleiste selbst nicht Teil von [myController view] ist - die Ansicht Ihres View-Controllers ist alles unterhalb der Leiste und alles, was Sie in dieser Ansicht tun, wird an das Rechteck unter dieser Leiste geklammert.

Die Leiste ist jedoch Teil Ihrer [myAppDelegate window] . Das Fenster ist im Wesentlichen der gesamte Bildschirm Ihres Geräts, während die Ansichten Unterabschnitte sind, die für die Verwaltung ihrer spezifischen Grenzen verantwortlich sind. Der Aufruf von [[myAppDelegate window] addSubView:] wird oberhalb der Leiste angezeigt, wo [[myViewController view] addSubView:] nicht angezeigt wird.

    
Todd Masco 15.01.2012 03:52
quelle