android scrollview 无限循环,iOS-UIScrollview无限循环

本文探讨了如何在UIScrollView中实现无限滚动,介绍了contentSize、contentInset和contentOffset的关系,重点讲解了通过复用UIImageView实现图片无限浏览的方法,避免内存消耗。同时提醒读者注意在scrollViewDidScroll中的性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIScrollview,顾名思义,就是一个可以滚动的视图,他的父类是UIView,在开发过程中经常会用到,例如常用的IUTableView就是他的子类.UIScrollview有很多property,这里我们挑一些常用的方法和属性.如图1.1

fcc3be388ef9

1.1

contentSize、contentInset、contentOffset在开发中会经常使用,为了帮助大家理解这里以图形的形式展现三者之间的关系:

fcc3be388ef9

1.2

下面就开始讨论无限循环吧.

我们知道在scrollview中加入了其他控件后,只要设置contesize,这些控件就可以滚动,那么要实现无限浏览就两种方法:一,无限叠加,就是无限的创建控件,很显然这是不可取的,会大大的消耗系统的内存;另一种就是创建有限个控件,然后重复使用(就是UITableview那样).

假设要在scrollivew中显示7张图片,那么究竟创建几个UIImageView好呢?其实都可以,两个,三个,四个,五个(一个就不行了),很显然,创建的越少所占内存越少,在这里我们就讨论创建三个.然后让着三个来分别加载不同的图片就OK了!

假设7张图片(分别为0,1,2,3,4,5,6,),那么在刚开始的时候我们创建三个UIImageView,分别加载6,0,1这三张图片,如图1.3

fcc3be388ef9

1.3

然后让scrollview通过setContentOffset显示中间这张0即可,继续滑动看到1,迅速让3个UIImageView重新加载0,1,2,再通过setContentOffset显示中间1这张图片即可,如图:1.4

fcc3be388ef9

1.4

另外注意的是尽量不要在scrollViewDidScroll(scrollview正在滚动的时候)做一些事情,因为scrollViewDidScroll

这个方法很耗性能的.好了,最后再附上运行的效果图以及代码...

fcc3be388ef9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值