2012-01-29 2 views
2

Я хочу создать всенаправленное прокрутку, которое очень похоже на приложение в стиле «Стена звука». Как и в случае, пользователь должен иметь возможность двигаться в любом направлении и никогда не заканчиваться. Я хочу, чтобы движение было плавным (и не видеть, как страницы меняются, как и в стандартном прокрутке). Кто-нибудь знает, как это можно сделать? Или мне нужен OpenGL для этого?Создайте всенаправленный scrollview

+0

. Узнайте больше о том, что вам нужно для отображения. Это просто рекурсия изображений или что-то еще? – TheAmateurProgrammer

+0

Вид будет инициализирован некоторыми изображениями (с URL-адреса), и когда пользователь переместит его в любом направлении, будет загружено больше изображений с этого URL-адреса. Все время изображения будут разными. –

+0

Вы можете попробовать использовать один из делегатов ScrollView, например 'scrollViewWillBeginDragging', чтобы определить, насколько смещение содержимого scrollView близко к его размеру, и если да, расширьте его. –

ответ

0

Создайте сетку 3x3, каждый из которых имеет размер окна просмотра. Когда scrollview перемещается в другой раздел, измените представления, чтобы постоянно помещать область просмотра в центр. В большинстве случаев достаточно 3x3, но если перерисовка представлений стоит дорого, вы можете использовать большую сетку (например, 5x5). Это требует, чтобы у вас был механизм разделения вашего полного вида на плитки.

Вы можете реализовать ту же самую вещь, используя CALayer, если хотите. Если вы пойдете так, вам следует вместо этого использовать CATiledLayer. См. Краткое введение Мэтта Лонга на CIMGF.

+0

Итак, вы говорите, что я должен создать прокрутку 960x2880, состоящую из 9 UIViews/UIImageViews, а затем перерисовать их, когда пользователь выходит из представления? –

+0

Я обычно переставляю их. Если вы идете вправо, то вы перемещаете левые взгляды в крайнее правое перед прокруткой. В любой момент времени в scrollview есть только 9 просмотров, но они продолжают перемещаться. –

+0

Хорошо, я постараюсь сделать это. Не желаете ли вы написать образец кода, если я не справимся? :-) –

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