При использовании UIScrollView, как сделать просмотренные концы полными, а не частичными - PullRequest
0 голосов
/ 29 февраля 2012

Как сделать, чтобы представление UIScroll показывало полные, а не частичные представления? (Примечание) Я не хочу, чтобы он прыгал в полный вид. Он должен двигаться естественно или, по крайней мере, не сразу ... должен быть плавным.

спасибо

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Если все ваши представления имеют постоянный размер, и вы просто хотите прокрутить влево / вправо или вверх / вниз, установите pagingEnabled в представлении прокрутки на YES. Предположим, что вы хотите, чтобы ваш вид прокрутки был 320х480, но чтобы показать стороны следующей и предыдущей страниц (например, каждая вещь внутри вида имела ширину 280 точек), вы бы изменили размер прокрутки на 280х480, но установили * 1003. * до NO.

Если у вас более сложная схема, установите делегат с прокруткой и действуйте на scrollViewDidScroll:, обращая внимание на contentOffset. Возможно, вы хотите реализовать логику вроде:

  • добавить наблюдателя на tracking; когда он переходит в NO из «ДА», включите вашу логику внутри scrollViewDidScroll: В там:

    • если ожидается принудительная прокрутка, отмените ее
    • рассчитать, куда вы бы принудительно прокручивали из текущей позиции
    • запланируйте прокрутку туда (которую вы будете выполнять через setContentOffset:animated:) на полсекунды с этого момента

Вы можете использовать неповторяющийся NSTimer для аспекта планирования. Логика, которую вы по существу реализовали, заключается в том, что если пользователь прекращает корректировать вид, дождитесь окончания естественной инерции (которую вы обнаружите с интервалом в 0,5 секунды после последнего движения), а затем плавно перейдите к ближайшей выровненной позиции.

1 голос
/ 29 февраля 2012

Сначала ознакомьтесь с документацией Apple: https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/Introduction/Introduction.html

Затем образец ScrollViewSuite: https://developer.apple.com/library/ios/#samplecode/ScrollViewSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008904

Я думаю, что вы имеете в виду методы пейджинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...