首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全景图像的无限滚动

全景图像的无限滚动
EN

Stack Overflow用户
提问于 2017-04-28 13:06:08
回答 1查看 877关注 0票数 3

我希望对具有全景图像的UIImageView (它是滚动视图的子视图)实现无限滚动。当用户通过手动滚动到达终点时,相同的图像应该重新开始。

全景图像示例:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 08:18:18

最后,我创建了一个滚动视图,其中有一个水平的堆栈视图。当用户滚动到最后时,堆栈视图将动态地添加和删除视图。诀窍是在添加或删除视图后重置contentOffset,这样用户将体验到无缝无限滚动。

代码语言:javascript
复制
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
    }
}

ratio是全景图像的宽度与高度之比。由于图像将占据整个设备的高度,它的宽度将按比例计算。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43680980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档