scrollView 实现自动轮播
1、创建scrollView,添加imageView,创建pageControl
2、实现代理方法,在代理方法中做三件事
1)didScroll:
CGFloat scrollW = scrollView.frame.size.width;
CGFloat contentX = scrollView.contentOffSet.x;
int page = (scrollX + scrollW/2) / scrollW;
pageControl.currentPage = page;
2) beginDrag:
remove timer;
3) endDrag
add timer
3、timer中,使用NSRunLoop解决线程占用问题
timer =[ NSTimer scheduledTimerWithTimeInternal: time target: self selector: nextPage];
[NSRunLoop currentRunLoop] addTimer: timer forMode: NSRunLoopCommonModes];
4、nextPage中:
int page = (int)pageControl.currentPage;
//判断是否到达最后一页
if(page == maxPage){
page = 0;
}else{
page ++;
}
//计算scrollView.contentOffSet
CGfFloat offSetX = page * scrollView.frame.size.width;
scrollView.contentOffSet = CGPointMak(offSetX,0);
//实现动画方法
// [scrollView setContentOffSet: CGPointMak(offSetX,0) animated: YES];