2016-04-22 4 views
0

In meiner App möchte ich Textfeldbreite nach Bildschirmgröße im Querformat einstellen, mit Auto Layout.it arbeitet perfekt im Landscape-Modus arbeitet nicht perfekt.Wie wird das horizontale Textfeld im Querformat mit automatischem Layout festgelegt?

Hier ist mein Bildschirm mit Auto-Layout,

enter image description here

Im Landscape-Modus, wie dies zeigt,

enter image description here

Hier ist meine Constraints Bildschirm

enter image description here

dies mein View Controller

enter image description here

+0

Haben setzen Sie beide hinteren und vorderen Platz für die TexView und NICHT explizite Breite eingestellt? – DCDC

+0

Entfernen Sie die CenterX-Einschränkung aus Textfeldern. –

+0

Bitte zeigen Sie uns Einschränkungen des Textfelds. Wählen Sie textview, zeigen Sie den Größeninspektor an und machen Sie einen Screenshot – DCDC

Antwort

1

Ich nehme an, Sie müssen einige Super unter diesem Layout haben, die explizite Breite gesetzt hat.

Wie sieht es aus, wenn Sie simulierte Metriken wie Größe und Ausrichtung in Ihrem Storyboard optimieren? Vergessen Sie nicht, die Ansichtshierarchie zu überprüfen.

Überprüfen Sie die Größe Inspektor, sollten Ihre Einschränkungen sein: Trailing Raum zu Superview, führenden Platz zu Superview, und einige obere und untere Raum. Und setzen Sie keine explizite Breite Wert

EDIT: Wie Sie sehen können, hat die Ansicht, die Superview für Ihre Textfelder und tatsächlich das gesamte Layout ist, die explizit eingestellte Breite Wert. Löschen Sie diesen Wert und legen Sie stattdessen den nachgestellten und den führenden Abstand fest. Dies würde funktionieren

+0

genau, welche Breite ich löschen möchte.in meinen obigen Screenshots –

+0

die Breite der ausgewählten Ansicht, die in der Bildlaufansicht ist. Dies begrenzt das gesamte Layout, das die Unteransicht davon – DCDC

+2

ist, müssen Sie löschen "Breite = 320" und geben Einschränkung gleich Breite mit seiner Superview. –

1

Constraints für scrollview - führende, nachfolgende, obere und untere und gleiche Breite zu Superview.

Einschränkungen für die Ansicht innerhalb der Bildlaufansicht - Vorlauf, Nachlauf, Oben und Unten zum Bildlauf und gleiche Breite zum Bildlauf.

Und die Einschränkungen für Textfelder, Schaltflächen usw. sind korrekt. Sie müssen nur die Einschränkungen von scrollview und view (innerhalb scrollview) überarbeiten.

0

Es muss kein Center-Constrain festgelegt werden. Setze dich auf, führe und probiere. Also, Autolayout Passt die Größe automatisch an. überprüfen unten Bild,

enter image description here

Ausgang prüfen: -

enter image description here

EDIT: -

Hier i mit Scroll angebracht Demo haben. prüfen Sie.

Constrain with scrollview

Ausgang: -

enter image description here

+1

Bro gibt es eine Scrollview in gestellte Frage ... und in Ihrer Demonstration haben Sie scrollview nicht genommen. –

+1

@RichardG Sorry ich habe vergessen. Bitte überprüfen Sie die bearbeitete Antwort mit Demo und Bildausgabe. –

Verwandte Themen