2013-02-15 4 views
0

У меня есть приложение для iPhone, которое начинается в портретном режиме. Когда приложение поворачивается пейзаж новый вид выталкивается на использовании:UIScrollView автоматически прокручивает случайную сумму в iOS 5

[self presentModalViewController:viewController animated:YES]; 

Этот вид ландшафта содержит UIScrollView, который прокручивает вертикально в альбомной ориентации. Высота кадра прокрутки равна высоте ландшафта (320 точек), а высота размера содержимого прокрутки в 3 раза превышает высоту ландшафта (так что 960 точек). У меня включен вертикальный пейджинг, поэтому есть 3 страницы.

Когда появится представление, просмотр прокрутки прокручивается вверх, как я ожидаю. Но в iOS 5 представление прокрутки затем случайным образом переходит в какое-то положение, где оно прокручивается вверх. Я прокомментировал мой метод viewDidAppear, и он все еще это делает. В iOS 6 работает нормально, и этого не происходит.

Кто-нибудь знает, что здесь происходит?

+1

Hi. Трудно сказать без кода. Я не вижу какой-либо особой причины и никогда раньше не сталкивался с этой проблемой. Если вы хотите убедиться, что scrollView находится наверху, добавьте что-то вроде setContentOffset: CGPointZero в «viewWillAppear». Но вам не нужно это делать. – Vinzius

+0

Проблема в том, что смещение появляется до тех пор, пока представление не появится. Я могу поместить точку останова в viewDidAppear, и когда код сломается, смещения нет, и представление полностью представлено. Но когда я продолжаю выполнение, появляется смещение. В моем контроллере просмотра нет кода, который выполняется после viewDidAppear, поэтому я действительно в недоумении относительно того, что происходит. – Darren

+0

Возможно, это потому, что представление создается в портрете, а смещение выполняется в процессе «ориентации», но я не уверен. Попробуйте добавить несколько журналов в «методы поворота». Но опять же, без всего кода, трудно помочь вам отлаживать:/ – Vinzius

ответ

2

Так что добавьте [scrollView setContentOffset: CGPointZero] в viewWillAppear (или где-то еще).

Может помочь, но не лучший способ справиться с этим ;-)

Смежные вопросы