2013-04-22 3 views
1

Я программно просматриваю изображения, повторяя NSTimer, который при пожарах устанавливаю текущую страницу управления страницей и вид прокрутки currentOffset.Как вы можете сделать цикл UIPageControl/UIScrollView вокруг

Когда я добираюсь до последнего изображения, я возвращаю текущую страницу управления страницей на 0, а вид прокрутки currentOffset также возвращается к 0. Однако это приводит к очень быстрому перемотке вещей назад к началу, а не к впечатлению от продвижения вперед. Есть ли быстрый и простой способ сделать это, кроме как использовать что-то вроде iCarousel?

ответ

0

Не уверен, что этот идеал для ваших нужд, но вы можете добавить первое изображение в конец UIScrollView.

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

+0

Я думаю, что что-то в этих строках может работать, но проблема в отсутствии анимации - это разрыв в работе пользователя (так как предыдущие изображения анимированы). Поэтому я попытался сначала установить смещение содержимого на последнее и дублированное изображение с анимацией, а затем установить смещение содержимого на 0 без анимации. Однако это не сработает, но я сделаю еще несколько экспериментов. – Gruntcakes

+0

Вот почему вы также добавили первое изображение в конец прокрутки, поэтому, когда смещение содержимого будет установлено на 0, следующее изображение снова будет анимировано. – Tim

+0

Вот что я пробовал, это не работает. Я смогу заставить работать, если я постоянно добавляю новые subviews (при удалении старых) с постоянно увеличивающимся фреймом, т. Е. Значение y для кадра просто увеличивается и никогда не возвращается к 0. Это будет работать, но если предел от диапазона интегральных значений для y, он должен будет откатиться без анимации. – Gruntcakes

1

Для любого «бесконечного» прокрутки вам понадобится только три элемента.

Предыдущий товар. Текущий элемент. Следующий товар.

Если у вас есть массив с 5 пунктов, и вы хотите, чтобы прокручивать бесконечно, то вам первое шоу ...

5, 1, 2 (середина всегда текущая позиция).

Если пользователь пойла, чтобы посмотреть номер 2, то, как только он закончит прокрутку вы поставите номер 2 в середину, как так ...

1, 2, 3, а затем изменить смещение точки зрения так что он снова посередине.

т. Е. Вы всегда выезжаете, а затем возвращаетесь к середине.

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