In meiner App iPhone App habe ich einen Tab Bar Controller mit 4 Beziehungen zu 4 verschiedenen Table View Controllern. Gibt es eine Möglichkeit, die Reihenfolge der Beziehung im StoryBoard grafisch neu zu ordnen? Ich kann keinen Weg finden, dies zu tun, und ich bin sicher, dass mir etwas fehlen muss!
165
Antworten:
Speichern Sie in 4.5 das Storyboard nach dem Hinzufügen eines Controllers, wechseln Sie zu einer anderen Datei und dann zurück zum Storyboard. Das Ziehen der Registerkarte sollte wieder funktionieren.
quelle
Sie können die Reihenfolge einfach neu anordnen, indem Sie die Symbole in der Registerkartenleiste ziehen und ablegen
quelle
Tab Bar Controller
Szene ein grauer Balken angezeigt wird, ist das Balkenelement weiterhin vorhanden. Dies ist besonders unauffällig, wenn alle Ihre Barelemente benutzerdefinierte Elemente sind.UMSCHALT + DRAG funktioniert mit Xcode 10.0
quelle
Ich konnte mit XCode 4.6 (mit einer der genannten Cobinierungen) kein Drag & Drop durchführen. Ich habe es gelöst , indem ich das Storybord im " Quellcode " -Modus geöffnet , den tabBarController gefunden und das Sequenz- Tag neu angeordnet habe .
quelle
Ich weiß, dass das OP den Xcode Interface Builder verwendet und nach einer grafischen Methode fragt, aber für Entwickler, die mit Xamarin iOS Designer arbeiten, ist hier eine Problemumgehung, die ich verwende.
Öffnen Sie die .storyboard-Datei in einem Texteditor oder verwenden Sie Xcode, klicken Sie mit der rechten Maustaste auf das Storyboard-Element in Project Navigator und wählen Sie Als Quellcode öffnen . Suchen Sie im Storyboard-XML den
<tabBarController ...>
Knoten. Dann ordne ich die Reihenfolge der Segues im<connections>
Abschnitt neu:Suchen Sie
destination=
im XML nach dem Attributwert, um festzustellen, auf welchen View Controller das Segue-Element zeigt.quelle
Ziehen Sie einfach die Registerkartensymbole in die Registerkartenleiste und legen Sie sie dort ab.
dh die Hauptregisterkartenleiste, die zum Registerkartenleisten-Controller gehört.
HTH
:: EDIT :: Das scheint also nicht zu funktionieren ... Ich bin mir sicher, dass es früher funktioniert hat.
Der einfachste Weg, den ich gefunden habe, besteht darin, die Registerkarten zu entfernen und sie in der Reihenfolge wieder hinzuzufügen, in der sie angezeigt werden sollen.
Hoffe das hilft.
quelle
Wie in den Kommentaren erwähnt, funktioniert Drag & Drop derzeit nicht (Xcode 4.5), nachdem ein Navigationscontroller hinzugefügt wurde. Allerdings Xcode Neustart , nachdem der Controller das Hinzufügen scheint wieder zu arbeiten Drag & Drop zu bekommen.
quelle
XCODE 10.1: Zoomen Sie das Storyboard. Ziehen Sie einfach Registerkartenelemente. (Keine Schicht keine andere)
quelle
Wenn Sie das Storyboard als "Quellcode-Ansicht" öffnen und dann schließen und als IB-Ansicht öffnen, scheint dies den Fehler zu beheben.
quelle
Hinzufügen zu der von allen bereitgestellten Drag & Drop-Methode. Ich habe dies als Antwort gepostet, damit ich Bilder einfügen kann. Versucht auf Xcode 7.3
Wenn Sie benutzerdefinierte Elemente verwenden
tab bar item
, können Sie diese per Drag & Drop verschieben, um sie neu anzuordnen. Auch wenn in derTab Bar Controller
Szene ein grauer Balken angezeigt wird, ist das Balkenelement weiterhin vorhanden. Dies ist besonders unauffällig, wenn alle Ihre Barelemente benutzerdefinierte Elemente sindquelle
Ich verwende XCode 5.1 für die Entwicklung von iOS 7.1 und habe festgestellt, dass der folgende Ansatz zum Neuanordnen der Registerkarten in einem Registerkartenleisten-Controller funktioniert.
Um die Registerkarten in einem Registerkarten-Controller neu anzuordnen, löschen Sie die Segmente vom Registerkarten-Controller zu Ihren Unteransichts-Controllern. Zeichnen Sie dann die Segmente in der Reihenfolge neu, in der Sie die Registerkarten haben möchten. Zum "Neuzeichnen" meine ich, dass Sie das Ziehen vom Registerkarten-Controller zum Unteransichts-Controller steuern und Beziehungssegment (am Ende der Liste) => Ansichts-Controller auswählen.
quelle
Sie können sicherstellen, dass die Option "Tab Controller Dock" in Ihrem Haupt-Storyboard auf "Ersthelfer" eingestellt ist, was das Problem für mich gelöst hat!
quelle
Ich hatte das gleiche Problem nach dem Hinzufügen eines Navigationscontrollers.
Fix: Schließen Sie das Storyboard (Strg + Befehlstaste + W) und führen Sie einen sauberen Build-Ordner (Option + Befehlstaste + Umschalttaste + K) und eine regelmäßige Bereinigung (Befehlstaste + Umschalttaste + K) durch. Öffnen Sie das Storyboard erneut und Sie können die Elemente erneut ziehen.
quelle
Gleiches gilt für xCode 4.6. Ich habe ursprünglich das Tutorial zum Starten von Storyboards in ios verfolgt. Zum Zeitpunkt des Umschaltens des Elements auf TabBarController konnte ich die Reihenfolge nicht ändern. Ich habe versucht, es zu retten - hat nicht funktioniert; Sobald ich jedoch den XCode geschlossen und wieder geöffnet habe, hat es funktioniert.
quelle
Strg + Ziehen Sie das Element in TabBarController im Storyboard und ordnen Sie es an der gewünschten Position an.
quelle
Ich folgte dem raywenderlich-Tutorial auch für Storyboards und stellte fest, dass ich nach dem Hinzufügen des Tab-Controllers die Tabs nicht durch Ziehen neu anordnen konnte. Nun, anscheinend ist es nur ein Fehler in xcode. Beenden Sie einfach xcode, starten Sie es neu und dieses Mal können Sie die Registerkarten ziehen.
quelle
Für mich hat das Ziehen auch in XCode 7.3.1 nicht funktioniert. Ein Neustart von XCode hat nicht geholfen. Und keine der oben genannten Lösungen hat bei mir funktioniert.
Was mir geholfen hat: Ich habe die Beziehung zum zweiten Element gelöscht und bei gedrückter Strg-Taste von diesem Element zum Registerkarten-Controller gezogen und eine weitere Beziehung erstellt. Es war jetzt automatisch an zweiter Stelle.
quelle
Entfernen Sie alle Viewcontroller-Sequenzen mit der Registerkartenleiste. Sie müssen zuerst den Viewcontroller trennen, dann einen anderen Viewcontroller mit der Registerkartenleiste verbinden.
Kein Neustart von xcode und keine Änderung der Quellcodedatei erforderlich.
quelle