ios - 如何使 UIPageControl/UIScrollView 循环

标签 ios objective-c uiscrollview nstimer uipagecontrol

我通过重复 NSTimer 以编程方式浏览图像,当触发时我设置页面控件的当前页面和 ScrollView 的 currentOffset

当我到达最后一张图片时,我将页面控件的当前页面设置回 0 并且 ScrollView 的 currentOffset 也设置回 0 .然而,这具有非常快地倒退到开始的效果,而不是给人留下前进的印象。 除了使用 iCarousel 之类的东西之外,有没有一种快速简便的方法可以做到这一点? ?

最佳答案

对于任何“无限”滚动,您只需要它显示三个项目。

上一个项目。 当前项目。 下一项。

如果您有一个包含 5 个项目的数组,并且您希望它无限滚动,那么您首先要显示...

5, 1, 2(中间总是当前项)。

如果用户然后滑动以查看数字 2,那么一旦它完成滚动,您就将数字 2 放在中间,就像这样......

1、2、3,然后改变 View 的偏移量,使其回到中间。

即你总是向外移动然后回到中间。

关于ios - 如何使 UIPageControl/UIScrollView 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152402/

相关文章:

uiscrollview - 有没有办法在 SwiftUI 中制作分页 ScrollView?

InterfaceBuilder 中带有自定义 accessoryView 的 iOS UITableViewCell

ios - 如何添加额外的表格 View 单元格来处理用户输入?

ios - UIActivityViewController,在为 iOS 7.x 编译时无法同时满足设备 8.x 上的约束

iphone - NSDictionary 没有正确存储 CGRect?

ios - UIScrollView setContentSize 不起作用

objective-c - 在 cocos2d 游戏中,如何允许两个操纵杆同时输入?

ios - XCode Fix-it 建议强制解包 bool 值?

ios - 等到多个网络请求都执行完毕——包括它们的完成 block

iphone - 如何使 UIScrollView 以特定速度自动滚动?