Ich entwickle für iOS7 und iPhone 8. Da iOS7 keine Größenklassen in kompakter Größe unterstützt, dachte ich, dass die gängige Methode darin besteht, die Any-Any-Größenklasse für iPhone-Layouts im Querformat zu verwenden. und verwenden Sie für die Hochformat-iPhone-Layouts die Größenklasse "Kompaktformat in Normalgröße" (cWrH).
Ich setze eine Einschränkung für eine Ansicht in any-any und ändere dann eine Beschränkungskonstante in cWrH so, dass sie für diese Größenklasse spezifisch ist. Das iOS7-Gerät sowie die Xcode-Vorschau ignorieren jedoch die Any-Any-Einschränkung und verwenden die cWrH-Einschränkung für Hoch- und Querformat.
Ich habe keine Ahnung, warum das passiert. Alles, was ich tun möchte, ist abhängig von der Orientierung verschiedene Einschränkungen.
Dies wird einfach mit dem neuesten Xcode 6.0.1 repliziert.
Semi-verwandt: Wie können Xcode 6 Adaptive UIs rückwärtskompatibel mit iOS 7 und iOS 6 sein?
Screenshots unten:
Nach Ihrer Frage, was Sie getan haben, haben Sie die Bedingungen für "Anfang", "Oben", "Höhe" und "Breite" in Any-Any Size-Klassen angegeben.
Nun wird die Position für alle Geräte im Quer- und Hochformat festgelegt. Wenn Sie nun die Größenklasse in kompakte Breite ändern und Änderungen an den oberen Beschränkungen vornehmen, wirkt sich dies sowohl auf das Hochformat als auch auf das Querformat aus.
Was Sie tun müssen, wenn Sie die Größenklasse Any-Any verwenden, um Ihre Steuerelemente im View-Controller zu platzieren und die Einschränkungen festzulegen, die Sie sowohl im Hoch- als auch im Querformat beibehalten möchten.
z. B.: Wenn Sie die Höhe und Breite festhalten möchten, geben Sie diese Einschränkungen in der Klasse Any-Any Size an.
Durch das Festlegen von Einschränkungen in einer Any-Any Size-Klasse werden diese Einschränkungen für Hoch- und Querformat gleichermaßen beibehalten.
1.) Wenn Sie im Hochformat die Ober- und Unterbedingungen festlegen, können Sie width- Compact, height-Regular verwenden.
2.) Sie können width- Any, height-Compact verwenden, um führende und obere Einschränkungen in der Landschaft festzulegen.
Besuchen Sie den unten stehenden Link, um die große Erklärung zu erhalten, und Ihre meisten Probleme im Zusammenhang mit dem automatischen Layout unter Verwendung der Größenklasse werden gelöst:
Hoffe, dass das dein Problem löst.
Tags und Links ios interface-builder xcode6 size-classes