2016-09-10 1 views
0

Probleme mit UIScrollView. Ich habe ein Setup wie folgt:UIScrollView scrollt nicht mit der Inhaltsansicht innerhalb

enter image description here

enter image description here

Ich habe eine Scroll in dem ersten Bild verstiftet, nachlauf, führt, obere und untere Randbedingungen. Im zweiten Bild habe ich eine UIView mit den gleichen Dimensionen in der Bildlaufansicht platziert (ich plane, Inhalt hinzuzufügen). Dies ist an die Bildlaufansicht angeheftet und auch horizontal und vertikal zentriert. Es scheint, dass keine Berührungen registriert sind, wenn ich versuche, jetzt zu blättern. Ich habe eine große Inhaltsgröße eingestellt:

override func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(animated) 

     print("The scroll views height is \(scrollView.frame.size.height)") 
     scrollView.contentSize = CGSize(width: scrollView.frame.size.width, height: 1000) 
     print("The scroll view content height is: \(scrollView.contentSize.height)") 
    } 

Ich habe auch Benutzerinteraktion ermöglicht, wo immer ich kann. Ich verwende die Delegate-Methode scrollViewDidScroll(scrollView: UIScrollView), um zu prüfen, ob Berührungen registriert werden und sie überhaupt nicht sind. Was mache ich hier falsch?

+0

versuchen Sie es aus, Tutorial ist in Ziel c, aber das Konzept ist das gleiche, http://iosfirst.blogspot.com/2016/08/a-tricky-way-to-work-with-scrollview-in. html –

+0

@kex Ihr Problem wurde gelöst oder nicht –

Antwort

0

Hoffe, dass dies Ihnen helfen wird, Viele mit diesem Problem konfrontiert hoffe ich meine Lösung wird Erleichterung für die Entwickler.

Ihrer Ansicht Hierarchie so sein sollte: -

View (main view of my UIViewController) – with 
-ContainerScrl 
--Scroll View (UIScrollView) 
---ViewInsideScrl 
----Content1 
----Content2 (etc) 

Wie die Scroll nur Scroll, wenn sein Inhalt Größe wird dann den Rahmen von Scroll größer sein.

Jetzt kommt der Imp. Teil der Constraint Sollte wie sein: -

Geben Sie Constraint auf die ContainerScrl und dann Scroll-Ansicht Sollte von der ganzen Richtung auf die ContainerScrl fixiert sein und ViewInsideScrl sollte auf Scroll-Ansicht fixiert werden. Jetzt wird es wie skalierbare Inhaltsgröße Ambiguität Warnung geben.

Schauen Sie, wenn Sie Constraint geben wie Breite und Höhe von ViewInsideScrl sollte gleich ContainerScrl sein, alle Constraint Fehler msg wird verschwinden, aber es wird nicht als Rahmen scrollen gleich Größe Inhalt, nehmen Sie an, Sie wollen es zu scrollen Sie in horizontaler Richtung und geben Sie dann sowohl der Ansicht, als auch der proportionalen Beschränkung für ViewInsideScrl width constraint in ContainerScrl wie ViewInsideScrl = 2 * ContainerScrl; wird der Inhalt von scroll größer als der Frame.

Lass uns versuchen, wenn das Problem nicht gelöst wird, werden wir weiter darauf schauen.

Verwandte Themen