2013-10-24 19 views
9

Ich habe eine ziemlich komplizierte UIView, die mehrere verschachtelte Ansichten enthält, die entsprechend einer Vielzahl von Antworten angezeigt werden - alle sind in einem Storyboard angeordnet.Xcode - Verschachtelte Storyboard-Ansichten - ausblenden/anzeigen?

Gibt es eine Möglichkeit, eine Ansicht im Vordergrund zu verbergen, um auf einer Ansicht im Hintergrund zu arbeiten? Da es wirklich fummelig ist, bestimmte Elemente auszuwählen, um sie zu arrangieren/zu gestalten !?

+1

Ich versuche, herauszufinden, was in dieser Situation zu tun. Hattest du gute Ideen? – 7usam

+1

Ich wünschte, Storyboard hätte eine sichtbare Checkbox, die es uns leichter macht zu arbeiten – mihai

Antwort

3

Ich habe versucht, eine nette Möglichkeit, dies zu tun, einige Funktion wie Verbergen der Ansicht und seiner Unteransichten aus dem Storyboard (nicht aus der eigentlichen Anwendung), aber konnte nichts finden.

Dies ist nicht die schönste Art und Weise, aber es ist, wie ich es im Moment tun ...

Was ich tue, ist die Ansichten wählt ich aus dem Dokument Umrisse zu „verstecken“ will und eine Konstante hinzufügen (Bildschirm Breite/Höhe) Wert auf seinen X/Y-Ursprung Wert, um sie aus dem Bildschirm zu drücken. Ich ändere auch das Dokumentlabel für diese Ansichten (Identity Inspector> Dokument> Label) zu etwas wie "Versteckt", so dass ich später nach den "versteckten" Ansichten aus der Dokumentengliederung suchen und sie dorthin zurücklegen kann, wo sie hingehören.

+0

hi @ 7usam - yep das ist die einzige Problemumgehung, die ich auch finden konnte - dachte - 'sicherlich vermisse ich hier etwas - es muss eine Möglichkeit geben, sich zu verstecken/select 'aber ich habe nowt gefunden! Prost – Dancer

1

Vielleicht könnte dies Ihnen helfen:

  • Storyboard im Finder öffnen und es mit einem einfachen Texteditor bearbeitet (nicht Xcode). Sie werden sehen, es ist nur eine XML-Datei. Suchen Sie nach der Ansicht, die Sie ausblenden möchten, und fügen Sie hidden = "YES" in der Parameterliste hinzu. Das mache ich bei meinem eigenen Projekt.

  • In Xcode, wenn Sie Ihr Storyboard auswählen, haben Sie ein Panel, das alle Ihre View-Controller und ihre Hierarchie anzeigt. Wenn Sie die Reihenfolge der Elemente ändern, ändern Sie die Reihenfolge von Hintergrund und Vordergrund.

3

Ich habe 2 Arbeiten herum.

A) Ändern Sie die Größe der View-Controller in Freeform. Stellen Sie die Größe so ein, dass sie sehr groß ist, damit ich die Ansichten ausräumen kann.

B) Verwenden Sie die Sortierreihenfolge der Ansichten Document Outline (am niedrigsten ist die Front) und fügen Sie eine Bildansicht (wie der Ansichtshintergrund) unter der ersten Ansicht hinzu, um die anderen zu blockieren. Dann lösche es nach Abschluss meiner Änderungen.

oder Xcode-Entwickler könnten einfach ein Design-sichtbares Kontrollkästchen für Ansichten und Steuerelemente hinzufügen .... aber nehmen Sie meine Täuschungen sonst wo.

0

Sie zusätzlichen Blick auf die Szene Dock hinzufügen können.

enter image description here

Diese Ansichten lassen zusammen mit dem View-Controller initiiert, sind jedoch der Ansicht-Controller Ansicht Hierarchie hinzugefügt. Sie können sie mithilfe von IBOutlets referenzieren.

z.B.Ich habe eine Vollbild-Ladeansicht, die ich dem Szenen-Dock hinzugefügt habe, anstatt den View-Controller im Storyboard zu verdecken. Ich kann die Belastung im Hinblick auf die Ansichtshierarchie in Code des View-Controller hinzufügen:

@IBOutlet weak var loadingView: UIView! 

... 

loadingView.frame = view.bounds 
loadingView.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight) 
view.addSubview(loadingView) 

Referenz: https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/Chapters/AddViewsToDock.html

Verwandte Themen