Ответ 1
Я реализовал этот метод, но для него требуется поддержка подкачки. Допустим, у вас есть пять элементов A,B,C,D and E
. Когда вы настраиваете свое представление, вы добавляете последний элемент в начало и первый элемент в конец и корректируете смещение содержимого для просмотра первого элемента, например, это E,[A],B,C,D,E,A
. В UIScrollViewDelegate проверьте, достиг ли пользователь любого конца, и переместите анимацию смещения без на другой конец.
Представьте, что [] указывает отображаемое представление:
E,A,B,C,[D],E,A
Пользователь щелкает вправо
E,A,B,C,D,[E],A
Пользователь щелкает вправо
E,A,B,C,D,E,[A]
Затем автоматически установите смещение содержимого во второй элемент
E,[A],B,C,D,E,A
Таким образом, пользователь может провести оба способа, создавая иллюзию бесконечного прокрутки.
E,A,[B],C,D,E,A
Update
Я загрузил полную реализацию этого алгоритма. Это очень сложный класс, поскольку он также имеет выбор по клику, бесконечную круговую прокрутку и повторное использование ячеек. Вы можете использовать код как есть, изменить его или извлечь код, который вам нужен. Самый интересный код - в классе TCHorizontalSelectorView
.
Наслаждайтесь!
Обновление 2
UICollectionView
теперь является рекомендуемым способом достижения этого, и его можно использовать для получения такого же поведения. В этом руководстве подробно описывается, как его достичь.