Wie man uiscrollview nur vertikales scrollen für ios?
Ich versuche, mich layout
innen scrollview
mit diesem tutorial https://www.youtube.com/watch?v=UnQsFlMGDsI
Und erhalten das folgende Ergebnis
http://youtu.be/iPfzyLbEZMA
Wird es geschätzt, für keine Ratschläge oder tutorial links. Es braucht nur einen vertikalen Bildlauf
- Ich kann nicht sehen, dein zweites video. Und versuchen, hier zu posten, das problem, anstatt zu führen, um anderen link
- Ein scrollview das scrollen hängt von seiner contentSize.
- ich denke, dass Ihr UIScrollView Breite ist mehr als die Bildschirmbreite, warum horizontales scrollen passieren. versuchen Sie, um die genaue Breite als Bildschirm haben.
- nur machen scrollview Inhalt anzeigen
equalwidth
mit seinensuperview
- Ja, ich habe es getan, gleich breit und gleich hoch mit niedrigen prioprity... Sieht aus wie poltergeist, aber wirklich wissen, hier ist ein kleines Problem (((
- sagen Sie uns, was Einschränkungen, die Sie hinzufügen auf scrollView und die Inhalte Uiview ..
- 1. Gemeinsame screenshot link 2. Für scrollview und das gleiche für contentview link 3. Contentview zu SuperView gleicher Breite und Höhe, sondern der Höhe mit niedriger Priorität
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin sicher, dass es auch andere Wege dies zu tun, aber eine schnelle Lösung ist :
1.) Erstellen Sie eine Breite Einschränkung für ContentView in Storyborad.
2.) IBOutlet, dass widthContraint und setzen Sie seinen Wert auf die Ansicht Rahmen-Breite in viewDidLoad.
Angenommen, der name des constraint-Steckdose contentViewWidthContraint.
Andere alternative von Storyboard ist eine Korrektur der Contentview-Breite der view Breite aus dem storyboard oder der Scrollview, wenn Scrollview hat bereits eine Gleich Breite contraint mit superview . Fügen Sie die "Gleiche Breite" contraint von Contentview "self".anzeigen oder Scrollview (wenn scrollview, hat bereits die Breite contraint)
Safe Area Relative Margins
. Mit diesem ungeprüften, einer meiner UITextViews waren breiter als das ansehen, was es Scrollbar vertikal als auch horizontal. Prüfen Sie jedoch, beschränkt sich die scrollview, um nur vertikal.Haben Sie die Einrichtung der "ContentView" Breite in übereinstimmung mit der scroll-view Breite? Ich hatte das gleiche problem und ich fest mit "Gleich Breiten".
"Gleich Breiten" sagen zu Ihrem "ContentView" zu verwenden, die die gleiche Breite von der "Scroll-View", das sollte passend sein der Bildschirm, wenn Sie eingerichtet haben, beschränken Sie richtig.
Können Sie dies leicht tun, auf dem storyboard.
Lassen Sie die klicken, werden Sie aufgefordert, sich mit einem Menü, wählen Sie "Gleich Breiten".
Dieser sollte dein problem lösen mit der scrollview mit AutoLayout von Storyboard-editor.
Finden Sie eine vollständige Anleitung wie man verwenden ScrollView mit Autolayout und Storyboard hier.
Ich hoffe, dies ist nützlich für Sie 🙂
In der Storyboard-legen Sie die Breite der Elemente, die in Ihrer UIScrollView gleich der Breite dieser UIScrollView (durch die Auswahl aller Elemente und der UIScrollView holding in der Systemsteuerung Links auf dem Storyboard und dann die Einstellung 'Gleiche Breite" Einschränkung unter 'Pin' auf der Unterseite Ihres Storyboard). Nur die Belegung der rechten Seite die Elemente, die der UIScrollView nicht so funktionieren, wie es wird, passen Sie die Größe der "display-Ansicht", um die Breite des größten Elements und, wenn diese kleiner ist als die Breite der UIScrollView alle Elemente werden nur angezeigt, ausgerichtet auf der linken Seite.
Gibt es auch eine andere Möglichkeit, die bietet ein sehr gutes Ergebnis.
Markieren Sie ein Kontrollkästchen:
O programmatisch:
Zu setzen
UIScrollView
Einschränkungen wie unten code, so wird es belegt den ganzen Bildschirm.Nicht mehr als die Bildschirmgröße.Müssen Sie zum festlegen der Breite von UIScrollView, der gleich oder kleiner als die Breite des Übergeordneten Ansicht. Zwei Möglichkeiten, es zu tun:
1) Sie können dies tun, in Storyboard über layout-Einschränkungen
2) Sie können dies programmgesteuert:
Versuchen Sie, setzen Sie die Breite auf 0 & Höhe Größe des Inhalts so:
Diese arbeiten, wie Sie wollen. Probieren Sie es & sagen, wenn noch vor einem Problem.
Zur Deaktivierung der horizontalen Bildlaufleiste können Sie die Größe des Inhalts in der
-(void)scrollViewDidScroll
Methode.Dies ist, weil scroll-view haben keine Ahnung, wo Ihr Inhalt sollte Ende.
Aber, wenn mindestens ein Element in die scroll-Ansicht hat Ihre "Leerzeichen" - Einschränkung angebracht, um eine view ausserhalb der scroll-Ansicht (meist eine Ansicht der scroll-view sitzt, oder eine andere Sicht auf eine höhere Ebene, die "kennt" seine Breite) - das scroll-Ansicht wird automatisch eine Vorstellung über Ihre gewünschte Breite und nicht horizontal Blättern (es sei denn, die nachfolgende constraint-setzt Voraus, dass die Ihrem Inhalt außerhalb des Bildschirms).
Besser, wenn alle Einträge in scroll-view haben Ihre "Leerzeichen" Einschränkungen verbunden, die entweder zueinander oder zu einer Ansicht außerhalb der scroll-Ansicht. Aber nicht die scroll-view selbst.
Kein zusätzlicher code oder zusätzliche Einschränkungen erforderlich für diese zu arbeiten.