4

Я пытаюсь создать пользовательский вертикальный UIScrollView, который может обрабатывать несколько страниц с разной высотой страницы.Как создать UIScrollView с разными размерами страниц (привязка страницы, отскок)

Предположения:

  • страница высота равна или больше высоты экрана
  • если страница выше высоты экрана, она прокручивается как обычно UIScrollView - с подпрыгивая на верхней и нижней
  • если пользователь заканчивает прокрутку, а «разрыв страницы» находится посередине экрана
    • , если нет скоростных привязок к ближайшим
    • если есть скорость - изменения страницы к одному в направлении взмаха

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

Проблема:

  • UIPanGestureRecognizer имеет ненадежный метод для получения скорости (velocityInView :)
  • scrollViewWillEndDragging: withVelocity: targetContentOffset: метод дает мне головную боль, потому что он может произвольно уничтожать мои попытки анимировать настройки контента смещение
  • Я не знаю, как добиться отскока на одной из средних страниц, боюсь, мне пришлось бы переписать всю обработку прокрутки
  • при попытке переопределить настройки контента смещения, когда UIScrollView замедляется, что я получаю
    • моего содержания Смещения устанавливаются
    • замедления продолжается за содержание смещения Я установил

Бонус

Я также попытался поместить UIScrollView внутри UIScrollView в качестве страницы, но этот подход также был болью в области шеи. Например, когда я был в нижней части прокрутки, я немного прокрутился вниз, отложил палец и быстро схватил его снова и прокрутил вверх, внешний свиток получил прикосновение, которое испортилось в прокрутке.

Есть ли у кого-нибудь идеи, как это сделать? Любые советы будут полезны, поскольку я полностью застрял ...

ответ

1

Попробуйте это. Может помочь. Основываясь на приложении новостей Circa.

https://www.cocoacontrols.com/controls/rscircapagecontrol

+1

Пожалуйста, добавьте некоторый контекст о ссылке в своем ответе, так что это более полезным для других, и они получают представление о том, что это такое. – Kunal

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