2016-07-17 17 views
1

Ich habe ein seltsames Problem mit einem Scrollview - ich habe versucht, dies in einer XIB-Datei und programmgesteuert zu tun. Grundsätzlich habe ich 3 Textfelder, die ich mit meinem scrollview scrollen möchte, um den ganzen Bildschirm zu füllen.Swift - kann scrollview nicht nach links scrollen lassen?

Um dies zu tun, erstellte ich zuerst eine Scrollview auf meinem Xib und beschränkt es, so dass es immer den Bildschirm gefüllt. Ich erweitert dann die Content bis 3-fache der Größe der Ansicht so sollte es in der Lage sein

scrollView.delegate = self 
     scrollView.frame = CGRectMake(0, 0, screenSize.width, screenSize.height) 
     scrollView.backgroundColor = UIColor.redColor() 

     self.scrollView.contentSize = CGSizeMake(self.view.frame.width*3, screenSize.height * (50/568)) 
     scrollView.center = CGPointMake(self.view.frame.width * -1.5, self.view.frame.height * 0.5) 
     scrollView.addSubview(containerView) 
     view.addSubview(scrollView) 
     self.scrollView.delaysContentTouches = false 

blättern Ich habe 3 Textfelder Suche 1 genannt, 2, 3, die ich dann Position innerhalb dieser Scrollview wie dies so sind sie in unterschiedlichen Längen aus dem Bildschirm auf der linken Seite -

search3.center = CGPointMake(screenSize.width * 0.5, screenSize.height * 0.45) 
search2.center = CGPointMake(screenSize.width * -0.5, screenSize.height * 0.45) 
search1.center = CGPointMake(screenSize.width * -1.5, screenSize.height * 0.45) 

Dies funktioniert hat, was bedeutet, ich die ersten Suchfeld 2 Ansichten auf der linken Seite haben, der andere direkt daneben, etc

Problem ist, kann ich Scrolle nur nach RECHTS, weil ich die Mitte meines Scrs nicht verschieben kann ollview von links, so dass seine Länge 3 Ansichten nach rechts erweitert. Ich habe mit diesem versucht -

scrollView.center = CGPointMake(self.view.frame.width * -1.5, self.view.frame.height * 0.5) 

und verschiedenen anderen Methoden, um die Ansicht programmatisch zu schaffen, sondern es sint arbeiten. Dies ist, was ich mit all den Dingen bekommen muss ich weit nach rechts scrollen -

enter image description here

Ive nie hatte. Wie kann ich die Ansichtsbreite nach links erweitern?

+0

Warum bist du Bewegen Sie den Mittelpunkt Ihrer Scrollview überhaupt? –

+0

Ihre Frage ist sehr verwirrend, aber ich denke, Sie haben den Mittelpunkt Ihrer Ansichten auf negativ gesetzt, dh, es ist nicht möglich, in diesem Bereich zu blättern. – aytek

Antwort

0

Haben Sie versucht, den contentOffset der scrollView zu setzen? Gemäß den Dokumenten steht contentOffset für:

Der Punkt, an dem der Ursprung der Inhaltsansicht vom Ursprung der Bildlaufansicht versetzt ist.

Wenn Sie Ihre Scroll in der Mitte zu starten (kann links scrollen zu und rechts) könnte dies für Sie arbeiten mit Annahme content 3 mal ist die Größe des Scroll

self.scrollView.contentOffset = CGPointMake(self.scrollView.contentSize.width/3 , 0.0f); 
+1

Nein, das hat nicht funktioniert. Ich bekomme das gleiche Ergebnis - kann nicht nach links scrollen, erstreckt sich alles nach rechts – skyguy

+0

macht mir nichts, nur ein paar Optimierungen nötig! – skyguy