Мне нужно реализовать контроллер представления (на iPhone, только портрет, полноэкранный режим), где верхняя часть представления должна иметь горизонтальную постраничную прокрутку, потенциально бесконечную.
Я уже использовал для аналогичных целей UIPageViewControllers
, чтобы воспользоваться преимуществами протоколов источника данных и делегата, которые очень полезны для управления памятью и другими вещами (сохранение только 3 контроллеров представления в памяти, предоставление делегатам для обработки действий точно после выполнения перехода и так далее). on): так что я думаю, что и в этом случае этот компонент является лучшим выбором.
Но вот моя проблема. В представлении, которое я понимаю, я должен дать пользователю понять, что он может провести пальцем влево и вправо, чтобы перейти к другому представлению: элемент управления страницей не является хорошим выбором, поскольку прокрутка может быть потенциально бесконечной, поэтому я хотел бы пусть небольшая часть представлений левого и правого контроллеров представления будет видна.
Что-то вроде этого:
ссылка на изображение (извините, я пока не могу включать изображения в свои сообщения)
До сих пор я не мог понять, как это реализовать. В параметрах во время инициализации можно указать UIPageViewControllerOptionSpineLocationKey
для установки (из документации) «Пробел между страницами в точках»: но это, похоже, работает только с положительным значением, так что пространство увеличивается, а отрицательные значения игнорируются, что может уменьшить пространство.
Я надеюсь, что может быть решение с использованием контроллеров просмотра страниц, так как в то же время мне нужно обновить представление таблицы в нижней части экрана, когда переход завершен, и метод делегата контроллеров страниц идеально подходит для этой цели. Возможно, представление коллекции может быть альтернативным решением, но оно более сложное, и я не уверен, как получить поведение, подобное описанному, для обновления представления таблицы.
Если нужно, могу приложить немного кода и скриншот прототипа