#ios #swift #xcode #uiscrollview #uipageviewcontroller
#iOS #swift #xcode #uiscrollview #uipageviewcontroller
Вопрос:
Я нашел эти примеры создания слайдера изображений / карусели. Один использует UIPageViewController, а другой — scrollview
В моем приложении мне нужно встроить слайдер изображения в contentview для VC, затем также добавить щелчок для увеличения, чтобы просмотреть изображение в полноэкранном режиме. Итак, каковы плюсы / минусы использования UIPageViewController или scrollview?
Глядя на два примера, они выглядят так, как будто ведут себя одинаково рядом с UIPageViewController, показывая точки / индикаторы
Комментарии:
1. ScrollView позволяет увеличивать естественным образом (для этого есть свойства
maximumZoomScale
иminimumZoomScale
). Однако для PageController вам необходимо выполнить масштабное преобразование (CGAffineTransformMakeScale
) в представлении контроллера.
Ответ №1:
Я бы не рекомендовал использовать UIScrollView (слишком много работы / вероятность ошибок, сбрасывающих contentOffset ScrollView для плавного перемещения по галерее).
Когда я реализовал галерею скользящих изображений раньше, я использовал UICollectionView. Границы CollectionViewCell совпадают с границами родительского CollectionView, ячейка содержит ImageView, прикрепленный к краям ячейки, а направление прокрутки CollectionView установлено в горизонтальное.
Вы можете добавить UIPageControl поверх UICollectionView, если хотите, это не обязательно важная функция. В качестве альтернативы использованию UIPageControl я добавил UILabel для отображения над экранными координатами UICollectionView и обновления его значения на основе количества элементов и текущей отображаемой ячейки в CollectionView. Например, 1/4 -> 2/4 и т.д.
Комментарии:
1. Хорошо, я попытаюсь создать его таким образом. Но для того, чтобы добавить «нажмите, чтобы включить полноэкранный режим», должен ли я перейти к другому UIPageViewController, который находится в полноэкранном режиме?