UIScrollView 平滑划动处理

在iOS开发中,实现UIScrollView平滑划动至关重要。常见策略包括一次性加载所有子视图或采用轮询加载三页视图,前者资源消耗大,后者可能出现卡顿。推荐针对页面数量和资源大小选择适当方法,如使用延迟加载优化。文中提到一种更优的解决方案,通过内容延迟加载确保平滑体验,同时介绍了两种实际应用技巧:一种是动态添加和删除页面,另一种是保持三个页面的滚动状态,如同‘木板搭桥’的游戏过程。
摘要由CSDN通过智能技术生成

       iOS开发经常会用到UIScrollView,而能够平滑的展示划动效果,是至关重要的。比较常用的方法有两种:

      1)将所有的scrollview子页面都add到scrollview中,这样可以平滑滑动,但占用资源加多,并且初始化加载比较慢。

      2)使用三个页面View,在滑动过程中如指针轮询那样交替使用。优点是占用内存少,但如果单个页面比较大,经常会在划动到中间位置的时候,出现卡顿,很影响用户体验性。

    

      第一种方法就不多讲解,如果页面不多,并且每个页面加载的资源也比较少,那么建议采用第一种方式。如果页面比较多,资源比较大,则建议采用延迟加载的方式。


 更优的方法,请查看:《优化——UIScrollView通过内容延迟加载以达到平滑滑动。


      现在UIScrollView使用有两种方法:一种是App Dev里面的Sample,建立一个包含页面数据的数组,划动的同时,不断添加和删除其他页。而另外一种是定义三个页面,划动过程中,类似与木板搭桥过河游戏一样,prev->current->next->prev,只需重新加载新载入的页面。

1、创建UIScrollView和三个自定义的View:

    //***********************************UIScrollView***********************************/
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 54, TOP_BIG_IMAGE_WIDTH, TOP_BIG_IMAGE_HEIGHT)];
    scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
	self.scrollView.contentSize = CGSizeMake(numberOfPages * self.scrollView.frame.size.width, 
                                             self.scrollView.frame.size.height);
    self.scrollView.delegate = self;
    scrollView.autoresizesSubviews 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值