iPhone:在 UIScrollView 内无限循环内容

Posted

技术标签:

【中文标题】iPhone:在 UIScrollView 内无限循环内容【英文标题】:iPhone: Infinitely looping content inside UIScrollView 【发布时间】:2010-06-10 22:14:22 【问题描述】:

在我的应用程序中,我正在设计一个自定义选择器,它允许用户通过水平滚动并触摸它来选择一个项目。当用户在某个方向滚动时,我需要该视图内的按钮无限循环。当内容循环出视图时,在保持 UIScrollView 惯性滚动的同时解决此功能的最佳方法是什么?

根据我对尝试此操作的其他人的研究,如果在用户抬起手指后滚动位置以编程方式在滚动中移动,他们将难以维持减速动画。我该如何解决这个限制?

Apple 的MobileMe Gallery app 是当前具有此功能的应用示例。在界面中,选择图库后,在顶部有一个水平滚动的照片选择器,当它向一个方向拖动时会无限循环。

非常感谢任何建议。

【问题讨论】:

【参考方案1】:

我编写了一个通用轮播控件,可以轻松处理此类需求,并使用简单的数据源/委托模式来提供内容视图:

http://charcoaldesign.co.uk/source/cocoa#icarousel

我最初确实使用 UIScrollView 作为基础,但这相当有限,所以在最新版本中我只是自己管理加速。

【讨论】:

【参考方案2】:

Here is some sample code 做你想做的:-)

【讨论】:

以上是关于iPhone:在 UIScrollView 内无限循环内容的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 无限滚动 setContentOffset

UIScrollView 和 Autolayout 防止 contentview 压缩

无限 UIScrollView 在 iOS 4.3 上不起作用

在 Swift 中使用 UIScrollView 进行无限循环滚动

在无限 UIScrollView 中跨页面拖动视图

利用递归 实现UIScrollView无限滚动的效果