2013-07-29 5 views
11

Ich erstelle iOS-App mit Storyboard und automatischem Layout, damit es sowohl auf iPhone4 als auch auf iPhone5 gut funktioniert. Unten ist der Screenshot der Ansicht, die ich mit dem Storyboard erstellt habe.
iOS - Verwenden von Storyboard und automatischem Layout zum Zentrieren von UIScrollView

enter image description here

In dem obigen Bild, ich mag von der Vorderkante von Superview und der rechten Tabellenansicht der Scroll-Ansicht in der Mitte zu halten. Ich möchte nicht, dass die Bildlaufansicht ihre Breite in iPhone5 vergrößert. Ich habe verschiedene Kombinationen von Beschränkungen ausprobiert, aber ich konnte es nicht erreichen.

Kann mir jemand vorschlagen, was sind alle Einschränkungen, die ich für die Bildlaufansicht festlegen muss, so dass es in der Mitte sein wird.

Antwort

6

Sie müssen dies tun, indem Sie dem Bildschirm eine zusätzliche Ansicht hinzufügen.

Im Moment haben Sie ...

- UIView (main view) 
    | 
    | - scrollView 
    | - tableView 

Sie die Scroll-Ansicht in eine andere Ansicht wie dieser ...

- UIView (main view) 
    | 
    | - UIView (spacer View) 
    | | - scrollView 
    | 
    | - tableView 

Nun, was Sie tun können, ist haben diese Einschränkungen setzen sollte. ..

Dadurch werden die Spacer-Ansicht und die Tabellenansicht so angeordnet, dass die Spacer-Ansicht vergrößert wird.

Jetzt müssen Sie hinzufügen ...

scroll view width = x 
scroll view height = y 
scroll view centered vertically in super view 
scroll view centered horizontally in super view. 

Jetzt, da die Super Ansicht der Scroll-Ansicht ist der Abstandhalter Ansicht, dann wird es immer zwischen der Tabellenansicht und dem Rest des Raumes zentriert werden.

35

Wie ein Blick auf das Storyboard zum Centre

Diese Antwort wurde für Xcode aktualisiert 8.

Diese Antwort ist für Leute, die nur tun, eine allgemeine Suche sind, wie die Dinge zum Zentrum ein mit Storyboard und verstehe keine Einschränkungen.

Ich nehme an, Sie verwenden ein Storyboard (nicht XIB-Dateien) und Auto-Layout. Dies ist heutzutage der Standard. Wenn Sie also nicht wissen, was das bedeutet, machen Sie sich keine Sorgen. Wenn Sie dies jedoch überprüfen möchten, können Sie im Projektnavigator auf Main.storyboard und dann auf den Dateiinspektor klicken. Sie können sicherstellen, dass Sie die automatische Layout-geprüft:

enter image description here

Ihre Schaltfläche auswählen (oder was auch immer sehen Sie zentrieren möchten) auf dem Storyboard. Klicken Sie dann rechts unten auf die Schaltfläche Ausrichtung. Wählen Sie "Horizontal im Container" und "Vertikal im Container". Klicken Sie auf "Add 2 Constraints".

enter image description here

Wenn es nicht perfekt zentriert war schon müssen Sie möglicherweise noch eine Sache tun. Klicken Sie auf die Schaltfläche "Frames aktualisieren", die sich zwei links neben der Schaltfläche "Ausrichtung" befindet. Ihre Ansicht sollte nun auf dem Storyboard zentriert sein.

enter image description here

Und was noch wichtiger ist, jetzt, wenn Sie Ihre Anwendung laufen sollte es egal zentriert werden, welche Gerätegröße Sie verwenden.

Ich lernte ursprünglich dies von Creating the user interface – Auto layout. Die Grundidee ist immer noch dieselbe, aber die UI-Anordnung hat sich in Xcode jetzt ein wenig geändert.

Siehe

+0

auch irrelavant Antwort auf meine Frage ist. Scrollview, das ich erwähnte, kann nicht in der horizontalen und vertikalen Mitte sein. Das übergeordnete Element ist die Ansicht des View-Controllers. – Satyam

+13

Ich weiß, dass dies Ihre Frage nicht beantwortet. Du hattest Recht, @ Fogmeisters Antwort zu akzeptieren, nicht meine. Aufgrund Ihres Titels kommen jedoch viele Leute hierher, die erwarten, etwas auf einem Storyboard zu zentrieren. Es sind diese Leute, denen ich helfen möchte. – Suragch