2011-09-24 13 views
9

A UIScrollView w mojej hierarchii widoków działa ostro, gdy przedstawię nad nim kontroler widoku modalnego. Automatycznie dostosowuje przesunięcie treści i przesuwa moją zawartość o około 40 pikseli. Nie mogę się domyślić, jak to powstrzymać.UIScrollView zmienia odsunięcie zawartości na presentModalViewController

Po węszeniu stwierdziłem, że presentModalViewController w jakiś sposób wyzwala prywatną metodę _adjustContentOffsetIfNecessary na moim UIScrollView i to właśnie zmienia przesunięcie.

Każdy pomysł, jeśli jest to błąd ze strony Apple'a? A może coś wplątuje się w mojego UIScrollView? W każdym razie, aby wyłączyć tę metodę _adjustContentOffsetIfNecessary lub przynajmniej ten efekt uboczny?

+0

FYI, pracuję wokół tego z kategorii na mojej metody ViewController presentModalViewController że oszczędza problem zestawy UIScrollView contentOffset a następnie to z powrotem. Przeładowuję również dane w hierarchii UIView, kiedy odrzucamModalViewController. Nadal chciałbym znaleźć bardziej eleganckie rozwiązanie, ponieważ niepotrzebnie muszę przeładować dane, a to wiąże się z kosztami przetwarzania. –

+0

Czy próbowałeś ustawić właściwość 'scrollEnabled' na NIE, a następnie z powrotem na TAK? – Akshay

+0

Spróbuję tego. Wydaje się dziwną naprawę. –

Odpowiedz

0

Mimo że nie jest fantazyjny, rozwiązałem to resetowanie przesunięcia treści w viewDidAppear z presentViewController.

0

Spróbuj ustawić automaticallyAdjustsScrollViewInsets własności swojej ViewController, który zawiera UIScrollView, „NO”

Powiązane problemy