У меня UIScrollView
есть несколько просмотров. Когда пользователь щелкает пальцем, вид прокручивается вправо или влево в зависимости от направления движения пальца. В основном мой код работает так же, как приложение для фотографий iPhone. Теперь, есть ли способ, которым я могу программно сделать то же самое, чтобы в итоге я получил слайд-шоу, которое запускается само по себе нажатием кнопки и настраиваемой паузой между каждой прокруткой?
Как вы действительно делаете слайд-шоу UIScrollView
?
источник
(myScrollView.contentOffset.x +320)
.(myScrollView.contentOffset.x +320)
лжи ключ!contentOffset:
также компенсирует contentSize, что может быть нежелательно. Чтобы только прокручивать, вы можете использоватьscrollRectToVisible:
.CGPointMake
в Swift. Просто создайте структуру Swift напрямую:CGPoint(x: 0, y: 44)
Если вы хотите контролировать продолжительность и стиль анимации, вы можете сделать:
Настройте продолжительность (
2.0f
) и параметры (UIViewAnimationOptionCurveLinear
) по вкусу!источник
Другой способ
источник
CGPoint
должно бытьCGPointMake
.С анимацией в Swift
источник
Я поражен, что этой теме уже 9 лет, и настоящего простого ответа здесь нет!
То, что вы ищете, это
scrollRectToVisible(_:animated:)
.Пример:
То, что он делает, это именно то, что вам нужно, и это гораздо лучше, чем взломать
contentOffset
От: https://developer.apple.com/documentation/uikit/uiscrollview/1619439-scrollrecttovisible
источник
источник
Свифт 3
источник
источник
источник