63 Stimmen

Xcode Interface Builder: Z-Index, Z-Reihenfolge einer Schaltfläche, eines Bildes, eines UI-Elements, etc?

Ich ziehe Dinge um in einem Xcode Interface Builder Storyboard ... Ich möchte angeben, ob ein Bild vor (wie ein Indikator) oder hinter einer Schaltfläche (wie ein Hintergrund) ist.

Ich sehe keine z-index Eigenschaft, wie ich es von anderen Umgebungen gewohnt bin.

Wenn es keine z-index-Eigenschaft gibt, was ist der beste Weg, um über das, was ich versuche, zu erreichen gehen?

92voto

Shai UI Punkte 48326

Ich habe erreicht, was ich wollte, indem ich auf ein UI-Element (Schaltfläche, Bild, Text usw.) geklickt und das Menü "Layout" (oben auf dem Bildschirm) aufgerufen habe.

In Xcode 4.2 finden Sie die Optionen im Menü oben: Editor->Bereich

24voto

Es gibt eine Z-Reihenfolge ohne Verwendung von Unteransichten. Zum einen gibt es Menüoptionen für "Nach vorne senden" und "Nach hinten senden". Wenn Sie die Elemente in Ihrer Ansicht als einen Baum von Elementen betrachten, können Sie sie dort (und nicht in der Ansicht selbst) durch einfaches Ziehen neu anordnen.

Unteransichten eignen sich hervorragend für die Gruppierung, sind aber nicht so nützlich für die Sortierung (außer, dass die gesamte "Menge" auf derselben Ebene bleibt).

14voto

e.James Punkte 112528

In der Xcode-Entwicklung befindet sich ein UI-Element oder eine "Ansicht" vor einer anderen Ansicht, wenn es eine Unteransicht dieser Ansicht ist. Wenn beispielsweise Ansicht B ein Hintergrund und Ansicht C ein Steuerelement ist, würden Sie, um das Steuerelement über dem Hintergrund (d. h. näher am Benutzer) zu platzieren, Ansicht C zu einer Unteransicht von Ansicht B machen. in den Hintergrund.

Im Wesentlichen sehen Sie eine Baumstruktur, wobei sich die Ansichten im Hintergrund in der Nähe der Wurzel des Baumes und die Ansichten im Vordergrund (näher am Benutzer) in der Nähe der Blätter des Baumes befinden.

El Fenster und Ansichten Dokument aus der iPhone-Entwicklerdokumentation von Apple kann helfen, die Dinge zu klären.

Anmerkung 1: Einzelne Steuerelemente, wie Schaltflächen und Textfelder, sollten sich fast nie überlappen. Dies verstößt gegen die Richtlinien für Benutzeroberflächen von Apple. Sie puede Sie können das natürlich immer noch tun, wenn Sie wollen, aber Sie müssen sich bewusst sein, dass Sie damit die Sicherheitszone verlassen. Wenn Sie einfach nur eine "normale" iPhone-Anwendung schreiben, ist es am besten, wenn Sie sich an die Vorgehensweise von Apple halten.

Anmerkung 2: Wenn Sie aus irgendeinem Grund benötigen, dass sich die Dinge auf eine bestimmte Art und Weise überschneiden, können Sie die folgenden Funktionen verwenden CALayer Gegenstände, damit alles seine Ordnung hat. CALayer-Objekte sind Teil der Core Animation-Technologie von Apple.

12voto

Eric Colton Punkte 121

Rufen Sie in Xcode 4.6 Interface Builder die "Document Outline" über das Menü ( Editor > Show Document Outline ) oder klicken Sie auf die durchsichtige Schaltfläche in der unteren linken Ecke der Leinwand.

Unter der Auflistung "Objekte" wird die Z-Reihenfolge der Ansichten angezeigt und der Benutzer kann sie verschieben, um die Reihenfolge untereinander zu ändern. Je näher am unteren Rand des Bildschirms, desto "näher" ist das Element für den Benutzer.

6voto

Kevin Punkte 2667

In Xcode 4.6 kann ich Elemente in der Liste einfach nach oben und unten nach links ziehen.

Je niedriger das Element in der Liste ist, desto näher ist es dem Benutzer.

Zum Beispiel wird das unterste Element in der Liste immer sichtbar sein, es sei denn, es befindet sich außerhalb des Bildschirms. Ich bin nicht sicher, wann dies implementiert wurde, aber es scheint einfacher zu sein als die anderen Antworten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X