2017-09-16 1 views
-1

Um verhalten ein iPhone-Layout zu bekommen 'richtige' Dimensionen auf dem iPad angezeigt werden, ich stelle alles (rose) in eine Ansicht (blau) im Viewcontroller (Gold)XCode Auto Layout schlecht

Click/tap to see Schematic View

Das iPad wird als der größere Rahmen mit der grauen Statusleiste angezeigt.

Also, um 7plus Größe iPhones nach unten gerecht zu werden, würde ich Einschränkungen für die 7+ innerhalb eines iPad Rahmen mit unterschiedlichen Prioritäten in verschiedenen Richtungen einrichten müssen. Sobald die blaue Ansicht eingestellt ist, sollte es mir glücklicherweise möglich sein, meine Untersichten in I.B.

Da die ganze Menge im Zentrum von Ipads erscheinen muss, Schritt (1) ist auf der Ausrichtung der Mittellinie Einschränkungen der blauen Ansicht mit Priorität von 1000.

gesetzt

Als nächstem wäre die Größe zu beheben für iPad-Displays größer als 7+. Erreicht mit Einstellungsbeschränkungen als Maximum, um von zu verkleinern. Ich habe nur die ≤680, so dass Höhe oder weniger wie in Schritt (2), aber eine geringere Priorität, sagen 750.

Dann für die Verringerung in Größe in Richtung SE Größe möchte ich das sagen 20 halten zeigt vom viewController (gold) weg. Die Einschränkung dafür sollte ≥20 sein. Wie unter (3) gezeigt, habe ich 740

zugewiesen Das Prinzip funktioniert gut in der horizontalen Richtung, aber nicht die vertikale. Ich habe endlos versucht, verschiedene Prioritätszuweisungen anzupassen, einschließlich der Eigenschaften 'Content Hugging' und 'Content Compression Resistance' und ich habe nie die gewünschten Ergebnisse erhalten, sobald ich die tatsächlichen Entitäten, die ich sehen möchte (Rose), in die blaue Ansicht gebracht habe .

Ich habe Apples Autolayout Design Guides genau genug gelesen, um fast sagen zu können, dass ich sie geschrieben habe, und nach 35+ Jahren CAD- und 3D-Animationsmodellierung könnte ich Objekte in Textparametern beschreiben, bevor das iPhone existierte.

Aber ich wurde hier besiegt. Nehme ich den langen Weg, um nur ein ** iPhone only ** -Layout korrekt angezeigt zu bekommen? Meine kleine kahle Stelle bedankt sich für deine Antwort.

+0

Nur festgestellt, dass der eingekreiste (1) in der falschen Position ist. Betrachten Sie es in der Nähe einer Mittellinie – bananamiss

+1

Es ist sehr schwer vorstellbar, was getan haben ... was Sie wollen ... und welche Code/Einschränkungen Sie geschrieben haben. Zeig uns das Endergebnis von Simulator. Zeigen Sie uns auch die Einschränkungen, die Sie geschrieben haben. Schreib nicht darüber, zeig uns buchstäblich, was du getan hast! – Honey

+0

Ist es Ihr Ziel, ein "Nur iPhone-Portrait" -App-Design zu haben? Und Sie wollen nur, dass es "skaliert", wenn es auf iPads läuft? – DonMag

Antwort

0

Wenn ich es wäre, würde ich Merkmalvariationen verwenden, anstatt zu versuchen, das Layout für jede Größenklasse in einem Satz von Einschränkungen zu handhaben. Ich denke, wenn Sie diesen Ansatz verfolgen, können Sie mit viel weniger Arbeit und auf eine Art und Weise, die unabhängig von zukünftigen Geräten ist, erreichen, was Sie wollen. Denken Sie daran, dass, wenn Ihre App das Multitasking für das iPad unterstützt, Sie möglicherweise Größen auf einem iPad haben, die Sie nicht erwarten (z. B. die Breite des iPhone im Querformat).

Versuchen Sie beim automatischen Layout nicht, an den Gerätetyp oder die Ausrichtung zu denken. Denken Sie an das Aussehen, das Sie für eine bestimmte Größenklasse wünschen, unabhängig davon, wo sie erscheint, in welcher Geräteausrichtung auch immer. Dies gibt Ihnen die Möglichkeit, die beste Benutzererfahrung für einen bestimmten Anzeigebereich zu schaffen und wird Ihnen das Leben während der anfänglichen Entwicklung erleichtern sowie wenn neue Funktionen hinzugefügt werden oder neue Benutzergeräte im Mix sind.