Я пытаюсь создать пользовательский вертикальный UIScrollView, который может обрабатывать несколько страниц с разной высотой страницы.Как создать UIScrollView с разными размерами страниц (привязка страницы, отскок)
Предположения:
- страница высота равна или больше высоты экрана
- если страница выше высоты экрана, она прокручивается как обычно UIScrollView - с подпрыгивая на верхней и нижней
- если пользователь заканчивает прокрутку, а «разрыв страницы» находится посередине экрана
- , если нет скоростных привязок к ближайшим
- если есть скорость - изменения страницы к одному в направлении взмаха
Я пробовал много подходов для достижения этой цели, но я наткнулся на многие UIScrollView причуды, которые делают его трудно.
Проблема:
- UIPanGestureRecognizer имеет ненадежный метод для получения скорости (velocityInView :)
- scrollViewWillEndDragging: withVelocity: targetContentOffset: метод дает мне головную боль, потому что он может произвольно уничтожать мои попытки анимировать настройки контента смещение
- Я не знаю, как добиться отскока на одной из средних страниц, боюсь, мне пришлось бы переписать всю обработку прокрутки
- при попытке переопределить настройки контента смещения, когда UIScrollView замедляется, что я получаю
- моего содержания Смещения устанавливаются
- замедления продолжается за содержание смещения Я установил
Бонус
Я также попытался поместить UIScrollView внутри UIScrollView в качестве страницы, но этот подход также был болью в области шеи. Например, когда я был в нижней части прокрутки, я немного прокрутился вниз, отложил палец и быстро схватил его снова и прокрутил вверх, внешний свиток получил прикосновение, которое испортилось в прокрутке.
Есть ли у кого-нибудь идеи, как это сделать? Любые советы будут полезны, поскольку я полностью застрял ...
Пожалуйста, добавьте некоторый контекст о ссылке в своем ответе, так что это более полезным для других, и они получают представление о том, что это такое. – Kunal