2015-04-21 15 views
6

Mam widoku wewnątrz Scrollview wewnątrz mojego widoku głównymios UIScrollView mieć zły domyślny contentOffset - szybki

Problemem jest to, że moja Scrollview mieć zły domyślne contentOffset. Jego wartość (0, -64) w układzie pionowym

Apple doc mówi

Wartość domyślna to CGPointZero.

umieścić ten kod na moim kontrolera do czasowego poradzić:

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

Dlaczego mój contentOffset nie mają dobrą wartość domyślną?

+0

Czy próbowałeś to poprawić w IB? – Anton

+1

Czy dodano widoki programowo lub przy użyciu kreatora interfejsu? – milo526

+0

Dodałem widok w konstruktorze interfejsów – Toldy

Odpowiedz

15

To prawdopodobnie problem z widokami wstawek.

Na XIB/Storyboard dla kontrolera widoku, upewnij się usuń zaznaczenie Adjust przewijania Zobacz wypustkami

uncheck the Adjust Scroll View Insets

lub w kodzie dodać self.automaticallyAdjustsScrollViewInsets = false

+2

Facet zmienił moje życie, wielkie dzięki! – Toldy

+0

Doskonała odpowiedź, dzięki –

0

znalazłem wyjaśnienie na ten temat strona internetowa:

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

Handling pasek nawigacyjny na górze naszej przewijania widoku

iOS 7 widzenia oczywiście pochodzi z nowym wyglądem, gdzie widoki przewijania przejść pod paskiem nawigacyjnym za miły efekt. Można zmienić zawartość contentIncena widoku przewijania, aby pokryć część, która jest nakładana na górze, ale ręczne wykonanie jest uciążliwe i nie jest zabawne. Byłem bardzo podekscytowany, gdy odkryłem, że obsługa tego programu powinna odbywać się bez żadnych kosztów, jeśli mój kontroler ViewController ustawi opcję Automatycznie dostosuj ustawienia CoViewView na TAK.

To nie działa dla mnie od razu po wyjęciu z pudełka, ponieważ okazuje się, że magia ma miejsce, gdy widok przewijania ma być pierwszym podzbiorem UIView ViewController'a. Musiałem zmienić kolejność moich subviews i magia zaczęła się toczyć.

Powiązane problemy