2017-03-05 8 views
0

Dies ist mein Setup blättern:Mein Scroll hat will nicht

setup

Ich weiß nicht, was ich falsch mache. Die Bildansicht ist größer als die Größe der Ansicht und der Bildlaufansicht. Die Constrains werden festgelegt:

Scroll-Ansicht: gleiche Höhe zu View * 0,5, gleiche Breite zu View, Y und X zu View.

Ansicht (innerhalb der Scroll-Ansicht): alle Nullen im Inneren fixiert Scroll-Ansicht, gleiche Höhe und Breite. Ich habe auch versucht, anstelle von gleichen Höhen und Breiten X und Y in Scroll-Ansicht zu zentrieren, aber es wird nicht scrollen.

Wie kann ich die Bildlaufansicht scrollen lassen? Vielen Dank.

+0

Nun, ich bin nicht 100% sicher, aber es scheint, dass Ihre Scroll-Ansicht dessen Inhalt Größe von seinem einzigen Kind stammt - der Ansicht, die gemerkt und hat gleiche Abmessungen. Es gibt keine Möglichkeit zu wissen, dass diese Ansicht andere Kinder hat, die sich über ihre Kanten hinaus erstrecken. Haben Sie versucht, das Kind von scrollview in seiner Mitte zu platzieren und die Ausrichtung zu Kanten zu deaktivieren? Damit würde es nur Center X und Center Y Constraints haben. – Losiowaty

+0

Jedes Tutorial sagte mir, dass ich eine View in eine Scroll-Ansicht mit dem Wert 0 pinnen sollte, also folgte ich dem ... – Petravd1994

Antwort

1

hinzufügen führenden, nachlauf und oben constraint und gleiche Höhe vonUIScrollView mit 0,5 Multiplikator Super. Nun zu Ihrer content (die UIScrollView subview), fügen Sie eine führende, Hinter, oben und Boden Einschränkung. Füge auch gleiche Höhe und Breite zu UIScrollView hinzu. Setzen Sie die Höhe auf eine Priorität von 250. Fügen Sie in diesem contentView Einschränkungen für UIImageView hinzu.

Da contentView eine feste Höhe mit niedriger Priorität hat, die der UIScrollView Höhe entspricht. Diese Beschränkung für die feste Höhe bricht ab, sobald die Gesamthöhe (basierend auf den von Ihnen hinzugefügten Beschränkungen) größer als die UIScrollView Höhe wird und der Inhalt scrollbar wird. Also zumindest immer haben Sie eine Ansicht der halben Bildschirmgröße und werden scrollbar, sobald der Inhalt vertikal zu groß wird.

+0

Ich habe getan, was Sie hier geschrieben haben, aber ich habe es in einem anderen Kontext getan, da ich den Benutzern erlauben möchte, horizontal zu scrollen. Statt gleicher Höhe habe ich gleiche Breite. Und statt die Höhe Priorität zu setzen, habe ich es mit der Width-Priorität von ContentView getan. Es wird nicht scrollen ... – Petravd1994

+0

Nun, wie stellen Sie die Einschränkungen für die Bildansichten im Inneren?Wenn ich eine Vermutung wagen würde, sollte dort etwas falsch sein. – Rikh

+0

Ich habe verschiedene Dinge gemacht, ich habe den Breitenwert extrem groß gemacht und in der Ansicht zentriert. Eine andere Sache, die ich gemacht habe, war, sie in der Mitte zu zentrieren und sie dann auf die rechte Seite zu stecken. Alles ohne Ergebnis ... – Petravd1994

0

Sie müssen contentSize scrollview geben.

ScrollView.contentSize = CGSize(width: 1000, height: 500)

+0

Gibt es eine Möglichkeit, dies dynamisch zu tun? – Petravd1994

0

Welche Einschränkungen haben Sie Imageview gegeben?

Set-Einschränkung von Imageview:

Trailing ,leading,top,bottom - 0 and also give height constraint.