Как синхронно прокручивать 'background scrollview' с 'foreground scrollview' - PullRequest
1 голос
/ 08 января 2012

У меня есть scrollView, который занимает всю высоту моего экрана, поэтому он имеет только вертикальную прокрутку. Ширина полного обзора составляет около 320 точек. Этот вид содержит массив изображений с шириной объединения 320 точек. Я настроил его так, чтобы он «привязывался» к каждым 320 точкам, давая вам ощущение, что вы просматриваете страницы. Пока нет проблем, это также делается в приложении для фотографий от Apple.

Однако мои изображения прозрачны (я даже не уверен на 100%, что это возможно, но ради этого вопроса, я предполагаю, что это так).

Итак, под этим прокруткой я хочу еще один просмотр прокрутки, который автоматически прокручивается вместе с «верхним» просмотром прокрутки. Однако, когда верхняя прокрутка перемещается на 320 точек влево или вправо (потому что она «защелкивается»), я хочу, чтобы нижняя прокрутка только двигалась, я не знаю 50 или 60? Нужно выяснить, что работает, что выглядит красиво. Для этого вопроса не имеет значения, я просто хочу знать, как это сделать. Я уверен, что я знаю, как настроить его под свои нужды, как только получу более широкую картину.

1 Ответ

1 голос
/ 08 января 2012

Посмотрите на мой код в методе - scrollViewDidScroll: (последний метод в файле) https://github.com/H2CO3/MyFile/blob/master/src/MFHexEditor.m

Я установил для основного делегата UIScrollView значение self (например, контроллер представления или другойназначенный объект делегата), затем наблюдайте за изменением положения вида прокрутки, используя @property contentOffset.В моем коде два вида прокрутки должны прокручивать абсолютно одинаковую сумму, поэтому я установил для contentOffset вторичного UIScrollView значение основного прокрутки.Вы можете переписать этот метод следующим образом:

- (void) scrollViewDidScroll:(UIScrollView *)mainScrollView {

    auxiliaryScrollView.contentOffset = mainScrollView.contentOffset / 320.0 * 60.0;

}

Надеюсь, это поможет.

...