2015-04-21 5 views
6

Ich habe einen Blick in einer Scrollview in meiner Hauptansichtios UIScrollView einen schlechten Standard-Content hat - raschen

Das Problem ist, dass mein Scroll hat einen schlechten Standard-Content. Sein Wert (0, -64) im Portrait

Der Apple doc sagt

Der Standardwert ist CGPointZero.

habe ich diesen Code auf meinem Controller temporäre Griff es:

dispatch_async(dispatch_get_main_queue(), { 
    self.scrollView.setContentOffset(CGPointZero, animated:false) 
}) 

Warum Content nicht den Wert guten Standard haben?

+0

haben Sie versucht, es in IB zu korrigieren? – Anton

+1

Haben Sie die Ansichten programmgesteuert oder mithilfe des Interface-Generators hinzugefügt? – milo526

+0

Ich habe die Ansicht im Interface Builder hinzugefügt. – Toldy

Antwort

15

Es ist wahrscheinlich ein Problem mit den View-Einfügungen.

Auf dem XIB/Storyboard für Ihre View-Controller, stellen Sie sicher, deaktivieren die Adjust Scroll Ansicht Insets

uncheck the Adjust Scroll View Insets

oder in Ihrem Code hinzufügen self.automaticallyAdjustsScrollViewInsets = false

+2

Du hast mein Leben verändert, vielen Dank! – Toldy

+0

Perfekte Antwort, Danke –

0

ich die Erklärung zu diesem Thema gefunden website:

http://www.codelord.net/2013/10/18/adapting-scroll-views-to-ios-7/

Umgang mit Navigationsleiste oben auf der Bildlaufansicht

Die iOS 7 Ansicht natürlich kommt mit dem neuen Look, wo scroll Ansichten für einen schönen Effekt unter der Navigationsleiste gehen. Man kann das contentInset der scroll view manuell ändern, um den Teil zu bedecken, der sich oben überlappt, aber manuell zu machen ist mühsam und nicht spaßig. Ich war sehr begeistert, als ich erfuhr, dass es keine zusätzlichen Kosten mit sich bringen sollte, wenn mein ViewController automatisch die Option "ScrollViewInsens" auf "YES" gesetzt hat.

Dies funktionierte nicht für mich aus der Box, da es sich herausstellt, dass die Scroll-Ansicht die erste Unteransicht der UIView Ihres ViewControllers sein muss. Ich musste meine Unteransichten neu ordnen und dann begann die Magie zu rollen.

Verwandte Themen