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