Ios 全景图像的无止境或无限滚动
我想为具有全景图像的UIImageView(滚动视图的子视图)实现无限滚动。当用户通过手动滚动到达末尾时,相同的图像应该再次启动Ios 全景图像的无止境或无限滚动,ios,swift,Ios,Swift,我想为具有全景图像的UIImageView(滚动视图的子视图)实现无限滚动。当用户通过手动滚动到达末尾时,相同的图像应该再次启动 一个全景图像示例:我创建了一个滚动视图,其中有一个水平堆叠视图。stackview将在用户滚动到最后时动态添加和删除视图。 诀窍是在添加或删除视图后重置contentOffset,这样用户将体验无缝的无限滚动 func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView.content
一个全景图像示例:我创建了一个滚动视图,其中有一个水平堆叠视图。stackview将在用户滚动到最后时动态添加和删除视图。 诀窍是在添加或删除视图后重置
contentOffset
,这样用户将体验无缝的无限滚动
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.x <= 0 {
addPanoramaViewFromStackView(atPosition: 0)
removePanoramaViewFromStackView(atPosition: 1)
scrollView.contentOffset.x = UIScreen.main.bounds.height * ratio
}
else if (scrollView.contentOffset.x >= (scrollView.contentSize.width - scrollView.frame.size.width)) {
addPanoramaViewFromStackView(atPosition: 2)
removePanoramaViewFromStackView(atPosition: 0)
scrollView.contentOffset.x = scrollView.contentOffset.x - UIScreen.main.bounds.height * ratio
}
}
func scrollViewDidScroll(scrollView:UIScrollView){
如果scrollView.contentOffset.x=(scrollView.contentSize.width-scrollView.frame.size.width)){
从StackView添加全景视图(位置:2)
从StackView中移除全景视图(位置:0)
scrollView.contentOffset.x=scrollView.contentOffset.x-UIScreen.main.bounds.height*比率
}
}
ratio
是全景图像的宽度和高度之间的比率。由于图像将占据设备的整个高度,因此其宽度将按比例计算 你的意思是360度视图不是360度而是水平方向上的线性无限(左滚动和右滚动)。看这个存储库可能对你有帮助,我已经试过了。此存储库不提供无休止的滚动,而是基于运动传感器滚动图像。只需添加图像的两个副本。每次用户滚动到任意一端时,将滚动位置调整回中间位置。我有图像,想从下向上移动,当图像完成时,重复该图像,该循环不断重复。我如何才能做到这一点?