4 направления прокрутки с пейджингом - PullRequest
0 голосов
/ 25 мая 2011

Мне нужно реализовать вид прокрутки, который (при нажатии кнопки) будет отображать страницу вверх, влево, вниз или вправо в зависимости от того, какая кнопка была нажата.Кроме того, пользователь может неограниченное количество страниц в том же направлении, что будет загружать представления в виде карусели.Таким образом, у меня есть 3 viewControllers .... viewController 1 отображается первым .... Пользователь нажимает влево, он показывает viewController2, слева снова показывает viewController3, слева снова возвращается к viewController 1 и т. Д. И то же самое для вверх, вниз, вправо.

Кто-нибудь знает хороший способ реализовать это?Я открыт для всех предложений.

Большое спасибо

Жюль

1 Ответ

1 голос
/ 25 мая 2011

Правка - вторая попытка ясного объяснения:

Рассмотрим эту матрицу.

enter image description here

  • Эта матрица 3x4 является областью содержимого вашего представления прокрутки. При включенной подкачке ваш вид прокрутки остановится на одной из этих «ячеек», например, 2,1. Эта часть вида прокрутки будет видна.
  • Если вы хотите, чтобы каждая "ячейка" контролировалась собственным контроллером представления, предварительно сгенерируйте все контроллеры представления (и их представления), а затем добавьте все их представления в качестве подпредставлений в scrollView.
  • Вы бы заполнили этот вид прокрутки любым видом, который вы хотите показать в любом заданном месте. Установите кадр каждого вида относительно источника прокрутки. Поэтому, если бы ячейки имели ширину 320 пикселей и высоту 480 пикселей, кадр для ячейки 1,3 был бы CGRectMake (1 * 320, 3 * 480, 320,480).
  • Когда scrollView заканчивает замедление, вы можете получить его свойство contentOffset, сделать некоторую арифметику и выяснить, в какой ячейке вы находитесь.
  • Чтобы получить эффект обтекания, вам придется сделать несколько хитростей. Вы можете поместить дополнительную ячейку в конец каждой строки и столбца, и если вы окажетесь в этой ячейке, просто установите для contentOffset scrollviews соответствующую ячейку в начале строки или столбца.
...