2013-10-03 3 views
9

При миграции проекта из Xcode 4 iOS 6 я заметил, что экземпляр UIScrollView не работает должным образом. Иногда кажется, что это застряло, и только когда я зажимаю или изменяю масштаб, он начинает прокручивать правильно.Xcode 5 iOS 7 - UIScrollView ведет себя странно

Я заметил несколько ответов в аналогичном вопросе, которые были связаны с устранением ограничений позиционирования, которые я пытался (хотя в конечном итоге мне нужны ограничения), и это не сработало.

Неужели кто-нибудь столкнулся с этим поведением и нашел способ его исправить?

+2

Убедитесь, что 'setContentSize' находится в' viewWillLayoutSubviews' и в 'scrollViewDidEndZooming: withView: atScale:'. В iOS6, если у вас не было кода в этих методах, поведение по умолчанию работало нормально, в iOS7 с новой системой компоновки они необходимы. – Buddy

+2

Meant 'viewDidLayoutSubviews', он может быть вызван более одного раза для настройки, просто позвоните' seContentSize'. – Buddy

+1

Спасибо. Сейчас работает. Будут награждать вас очками, но вопрос закрыт. –

ответ

1

Обеспечить setContentSize в viewDidLayoutSubviews и в scrollViewDidEndZooming:withView:atScale:. В iOS6, если вы не вызывали setContentSize в этих методах, поведение по умолчанию работало нормально, в iOS7 с новой системой макета они необходимы. viewDidLayoutSubviews можно вызвать более одного раза для настройки, просто позвоните setContentSize.

16

я был в состоянии сделать его работу с помощью

self.automaticallyAdjustsScrollViewInsets = NO; 

в контроллере представления, держащего Scrollview. Просто поставьте его после создания экземпляра прокрутки.

+0

Выглядит многообещающе, попробует его как можно скорее и сообщит! –

+0

Извините, не работает. –

+0

Это работает .... !! – TheTiger

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