Eu tenho um UIScrollView
que tem várias opiniões. Quando um usuário move o dedo, a visualização rola para a direita ou esquerda, dependendo da direção do movimento do dedo. Basicamente, meu código funciona de maneira semelhante ao aplicativo de fotos do iPhone. Agora, existe uma maneira de eu fazer programaticamente a mesma coisa, para que eu termine com uma apresentação de slides executada por si só com um clique de um botão e uma pausa configurável entre cada rolagem?
Como você realmente faz apresentações de slides UIScrollView
?
fonte
(myScrollView.contentOffset.x +320)
.(myScrollView.contentOffset.x +320)
mentiras a chave!contentOffset:
também compensará o contentSize, o que pode não ser desejável. Para rolar apenas, você pode querer usarscrollRectToVisible:
.CGPointMake
no Swift. Simplesmente crie uma estrutura do Swift diretamente:CGPoint(x: 0, y: 44)
Se você deseja controlar a duração e o estilo da animação, pode:
Ajuste a duração (
2.0f
) e as opções (UIViewAnimationOptionCurveLinear
) a gosto!fonte
Outra maneira é
fonte
CGPoint
deveria serCGPointMake
.Com animação em Swift
fonte
Estou surpreso que este tópico tenha 9 anos e a resposta direta não está aqui!
O que você está procurando é
scrollRectToVisible(_:animated:)
.Exemplo:
O que ele faz é exatamente o que você precisa e é muito melhor que o hacky
contentOffset
De: https://developer.apple.com/documentation/uikit/uiscrollview/1619439-scrollrecttovisible
fonte
fonte
Swift 3
fonte
fonte
fonte