Несколько (одного и того же) UIView на UIScrollView - PullRequest
0 голосов
/ 14 марта 2012

Я хочу, чтобы UIScrollView содержал UIView, который повторяется каждый раз, когда страницы UIScrollView направо или налево, каждый раз загружая разные данные (динамически с сервера).

Есть ли способ сделать это в IB?Если так, то как?

Спасибо

Ответы [ 3 ]

1 голос
/ 14 марта 2012

Вы не можете сделать это с помощью Interface Builder.Вы должны сделать это программно.Вот простой способ сделать это.

Если каждая страница, на которую вы проводите пальцем, имеет один и тот же макет, но разные данные, вы можете создать вид, который будет выглядеть в Интерфейсном Разработчике.Вам нужно будет использовать делегат scrollview, чтобы иметь доступ к:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 

Что вам нужно сделать здесь: 1) Определить текущую страницу

CGPoint offsetPoint = scrollView.contentOffset;
float fractionalPage = offsetPoint.x / scrollView.frame.size.width;
int page = lround(fractionalPage);

2) Определите, в каком направлении (влево или вправо) я делаю это, используя int scrollViewPosition; переменную

3) Удалите вид (скажем, мы сместились вправо), который находится на две позиции влево

3) Добавьте представление, которое будет следующим (следующее представление справа).

4) Заполните представление

Есть вещи, которые помогут производительности здесь.1) Повторное использование просмотров.Когда вы удаляете представление из представления прокрутки, заполняете его новыми данными и снова добавляете в представление.

1 голос
/ 14 марта 2012

Я бы сказал, что это невозможно с помощью Interface Builder.

Выполнение такого вида прокрутки вручную будет не очень легкой задачей.Я думаю, что самое простое решение - использовать UITableView, повернутый на Pi / 2 (90 градусов).

На raywenderlich.com есть очень полезное руководство.Вот Часть 1 и Часть 2 .Вы можете начать с части 2, так как они просто строят вертикальный UITableView в части 1.

0 голосов
/ 14 марта 2012

Вы не сможете достичь такого поведения с помощью IB.

Делать то, что вы хотите с помощью UIScrollView, в коде не так уж сложно.Вы должны понимать основы, хотя.На страницах разработчиков Apple есть несколько видеороликов WWDC о UIScrollViews, так что вы можете проверить их, и они укажут вам правильное направление.

...