webentwicklung-frage-antwort-db.com.de

Xcode 6 Storyboard die falsche Größe?

In Swift in Xcode 6 (Beta 1) ein neues Projekt von Grund auf erstellt und merkwürdiges Verhalten mit Storyboards und der angezeigten Ausgabe festgestellt.

Ich habe eine einfache Benutzeroberfläche (wie unten gezeigt) mit den Eigenschaften von View Controller erstellt. Wenn ich dies im Simulator ausführe, würde ich erwarten, dass "Hello, World" in der Benutzeroberfläche eine zentrale Rolle spielt - es scheint jedoch, dass dieses "Quadrat" einfach in den iPhone-Bildschirm passt und daher die falsche Ansicht angezeigt wird (siehe unten) ).

Meine Frage ist: Hat jemand anderes dieses Verhalten gesehen und wie haben sie es behoben?

Vielen Dank!

View from the Storyboard Editor

Attributes Inspector

Size Inspector

Simulator Output

139
Candyfloss

Obwohl die Antwort von Asif Bilal eine einfachere Lösung ist, die keine Größenklassen beinhaltet (die in iOS 8 eingeführt wurden), wird dringend empfohlen, sich an Größenklassen zu gewöhnen sind die Zukunft, und Sie werden irgendwann sowieso einspringen. "


Wahrscheinlich haben Sie die Layouteinschränkungen nicht hinzugefügt.

Wählen Sie Ihr Etikett aus und tippen Sie unten auf die Schaltfläche für Layoutbeschränkungen:

enter image description here

In diesem Menü fügen Sie Breite und Höhe hinzu (es sollte NICHT das gleiche sein wie meins), indem Sie das entsprechende Kontrollkästchen aktivieren und auf Einschränkungen hinzufügen klicken. Ziehen Sie die Beschriftung bei gedrückter Ctrl-Taste in Ihre Hauptansicht. Wenn Sie auf die Beschriftung klicken, sollten Sie die Option haben, sie horizontal und vertikal im Container zu zentrieren. Fügen Sie beides hinzu, und Sie sollten eingerichtet sein.

81
Can Poyrazoğlu

Führen Sie die folgenden Schritte aus, um das Problem zu beheben

Wählen Sie in Storyboard eine beliebige Ansicht aus und wechseln Sie zum Dateiinspektor. Deaktivieren Sie das Kontrollkästchen "Größenklassen verwenden". Sie werden gebeten, die Größenklassendaten für: iPhone/iPad beizubehalten. Klicken Sie dann auf die Schaltfläche "Größenklassen deaktivieren". Dadurch wird die Anzeigegröße des Storyboards für das ausgewählte Gerät angepasst.

253
Asif Bilal

Wenn Sie Xcode 6 verwenden und für iOS 8 entwerfen, ist keine dieser Lösungen korrekt. Deaktivieren Sie keine Größenklassen, deaktivieren Sie keine abgeleiteten Metriken und legen Sie (noch) keine Einschränkungen fest, damit die Größe Ihrer Nur-iPhone-Ansichten korrekt ist. Verwenden Sie stattdessen das Größenklassen-Steuerelement, eine leicht zu übersehende Textschaltfläche am unteren Rand von Interface Builder, die anfänglich "wAny hAny" lautet.

Klicken Sie auf die Schaltfläche und wählen Sie Kompakte Breite, Normale Höhe. Dies ändert die Größe Ihrer Ansichten und deckt alle iPhone-Hochformatierungen ab. Apples Dokumente hier: https://developer.Apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html oder suchen Sie nach "Auswählen einer Größenklasse in Interface Builder"

18
Eli Burke

Ich hatte dieses Problem in xcode 6 und es gibt eine Möglichkeit, die Größenänderungskonflikte zu lösen. Wenn Sie Ihre Ansicht auswählen, sehen Sie unten ein Symbol, das aussieht wie | -Δ- |. Wenn Sie darauf klicken, wird die Projektgröße für verschiedene Geräte geändert.

5
user2961953

Wählen Sie im Storyboard Ihren ViewController aus und rufen Sie den Attributinspektor auf. Ganz oben haben Sie unter "Simulierte Metriken" die Eigenschaften "Größe" und "Ausrichtung", die auf "Abgeleitet" festgelegt sind. Ändern Sie sie auf die gewünschten Werte.

Damit eine Anwendung auf einem anderen Bildschirm richtig angezeigt wird, müssen Sie außerdem Einschränkungen festlegen, wie im ersten Beitrag von Can Poyrazoğlu beschrieben.

5
David Andrews

Gehe zu Attributes Inspector (rechte obere Ecke) In den simulierten Metriken mit den Eigenschaften Size, Orientation, Status Bar, Top Bar, Bottom Bar. Ändern Sie für SIZE Inferred -> Freeform.

3
Rachel

Gehen Sie auf Ihrer Storyboard-Seite zum Datei-Inspektor und deaktivieren Sie "Größenklassen verwenden". Dadurch sollte Ihr View-Controller auf die normale IPhone-Größe verkleinert werden, mit der Sie vertraut waren. Beachten Sie, dass Sie mit Größenklassen Ihr Projekt auf vielen Geräten entwerfen können. Sobald Sie dies deaktivieren, zeigt Ihnen der Xcode einen Warndialog wie folgt an. Dies sollte selbsterklärend sein.

"Durch Deaktivieren der Größenklassen wird dieses Dokument auf das Speichern von Daten für eine einzelne Gerätefamilie beschränkt. Die Daten für die Größenklasse, die das Zielgerät am besten darstellt, werden beibehalten, und alle anderen Daten werden gespeichert Außerdem werden die Segmente in ihre nicht adaptiven Entsprechungen konvertiert. "

3
Ohmy

Für alle, die XCode 7 verwenden, ist es sehr einfach, ein Design für eine bestimmte Gerätegröße zu erstellen (anstelle der viereckigen Standardleinwand).

Wählen Sie in Interface Builder Ihren ViewController oder Ihre Szene aus dem linken Menü aus. Dann unter Show the Attributes Inspector, gehe zum Simulated Metrics und wählen Sie das gewünschte Size aus dem Dropdown-Menü.

3
Priest

Sie sollten wahrscheinlich das Symbol "Auto-Layout-Probleme beheben" (rechts unten - Dreieck in der Storyboard-Ansicht) verwenden, um vorgeschlagene Einschränkungen hinzuzufügen/zurückzusetzen (Xcode 6.0.1).

2
swnn