Wie man von iPhone / iPad Storyboards zum universellen Storyboard migriert

8

Ich habe ein Projekt in Xcode 5 erstellt. Die "Deployment Info" Einstellungen sagt Devices: Universal aber hat separate iPhone und iPad Einstellungen und entsprechende iPhone und iPad Storyboards.

Jetzt entwickle ich das selbe Projekt in Xcode 6 und möchte ein universelles Storyboard anstelle von zwei Storyboards verwenden. Ich habe nur am iPhone Storyboard gearbeitet und das iPad nicht angefasst. Ist es möglich, das iPad-Storyboard abzulegen und das bestehende iPhone-Storyboard zu meinem universellen Storyboard zu machen?

    
rmp251 27.09.2014, 02:02
quelle

3 Antworten

12

Ich habe dieses Tutorial angepasst und a ähnliche Lösung von @tharkay, um diese Lösung unten zu erstellen.

  • Umbenennen von Main_iPhone.storyboard zu Main.storyboard
  • Löschen Main_iPad.storyboard
  • *** Wenn Sie das iPad-Storyboard anstelle des iPhones verwenden möchten, benennen Sie Main_iPad.storyboard in Main.storyboard um und löschen Sie die Main_iPhone.storyboard -Datei. Sie müssen dann zum Datei-Inspektor gehen und mit der rechten Maustaste auf Ihr Storyboard klicken und dann "Als Quellcode öffnen" auswählen. Dadurch wird der gesamte XML-Code angezeigt. Ändere targetRuntime von "iOS.CocoaTouch.iPad" zu "iOS.CocoaTouch"

Von:

%Vor%

zu:

%Vor%
  • Wählen Sie in der Projektdatei unter allgemeine Einstellungen Main.storyboard für iPhone und iPad.

  • Am Main.storyboard , wählen Sie auf der rechten Seite das Symbol% ​​co_de%.

  • Aktivieren Sie das Kontrollkästchen Show the File inspector

  • XCode wird mit einer Xcode 5-Kompatibilitätsmeldung angezeigt, Wählen Sie YES.
  • Kompilieren und ausführen.
  • Natürlich sollten alle Ihre Ansichten durcheinander sein und Sie müssen das automatische Layout wiederherstellen.
DogEatDog 17.10.2014, 13:22
quelle
2

In xCode 9 musste ich auch die Eigenschaft useTraitCollections="YES" in das Dokument-Tag einfügen (dieselbe Stelle, wo targetRuntime="iOS.CocoaTouch" ist).

    
Chuck Boris 07.11.2017 14:38
quelle
0

Ich habe eine einfache Lösung gefunden und es hat für mich funktioniert.

Dupliziere deine MainStoryboard und benenne sie als MainStoryboard_iPad.storyboard aus dem File Menü

um

Klicken Sie nun mit der rechten Maustaste auf Ihre MainStoryboard_iPad-Datei und klicken Sie auf open as a source code .

Sie erhalten ein XML-Dokument. Nehmen Sie jetzt einige Änderungen in der XML-Datei wie folgt vor.

Suche nach targetRuntime="iOS.CocoaTouch" und ändere es in targetRuntime="iOS.CocoaTouch.iPad"

Entfernen Sie den Typ = "retina4" als Von %Code%  zu

%Vor%

Öffnen Sie erneut die Datei <simulatedScreenMetrics key="destination" type="retina4"/> im Interface Builder. Hurra ... Du wirst dein Storyboard für die iPad Version bekommen. Jetzt müssen Sie nur die Breite und Höhe nach Ihrem Layout ändern.

Das hat mir viel geholfen und viel Zeit gespart.

:) Ich bin sicher, es wird dir helfen!

    
DevdDexter 29.09.2014 06:46
quelle