实现UIScrollView循环滚动
我们可以在scrollview里面这样添加图片的顺序,img4,img1,img2,img3,img4,img1,img2,位置分别是0,1,2,3,4,5,6
-(void)viewDidLoad{
[superviewDidLoad];
//创建scrollview
_scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(0,0,WIDTH,220)];
_scrollView.contentSize=CGSizeMake(WIDTH7,220);
//使整页滚动
_scrollView.pagingEnabled=YES;
_scrollView.showsHorizontalScrollIndicator=NO;
_scrollView.showsVerticalScrollIndicator=NO;
_scrollView.backgroundColor=[UIColorwhiteColor];
//设置滚动条风格
//_scrollView.indicatorStyle=UIScrollViewIndicatorStyleBlack;
//初始位置
_scrollView.contentOffset=CGPointMake(WIDTH,0);
NSLog(@"_scrollView.contentOffset.x/WIDTH=%f",_scrollView.contentOffset.x/WIDTH);
//关闭弹簧效果
_scrollView.bounces=NO;
_scrollView.delegate=self;
_scrollView.userInteractionEnabled=YES;
_scrollView.tag=200;
//创建uipagecontroll
_pageControl=[[UIPageControlalloc]initWithFrame:CGRectMake(WIDTH-100,10,100,1)];
//设置小点点颜色
//_pageControl.pageIndicatorTintColor=[UIColorwhiteColor];
_pageControl.numberOfPages=4;
_pageControl.userInteractionEnabled=YES;
_pageControl.tag=10;
//添加imageView
for(inti=0;i<7;i++){
if(i<5&&i>0){
UIImageViewimageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(iWIDTH,0,WIDTH,220)];
imageView1.image=[UIImageimageNamed:@"image1"];//按顺序1.2.3.4张图片
imageView1.userInteractionEnabled=YES;
[_scrollViewaddSubview:imageView1];
}elseif(i==0)
{
UIImageViewimageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(i
WIDTH,0,WIDTH,220)];
imageView1.image=[UIImageimageNamed:@"image4"];//第4张图片
[_scrollViewaddSubview:imageView1];
}
elseif(i==5)
{
UIImageViewimageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(i
WIDTH,0,WIDTH,220)];
imageView1.image=[UIImageimageNamed:@"image1"];//第1张图片
[_scrollViewaddSubview:imageView1];
}elseif(i==6)
{
UIImageViewimageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(iWIDTH,0,WIDTH,220)];
imageView1.image=[UIImageimageNamed:@"image2"];//第2张图片
[_scrollViewaddSwww.baiyuewang.netubview:imageView1];
}
}
//停止减速时
-(void)scrollViewDidEndDecelerating:(UIScrollView)scrollView
{
if(scrollView.tag==200){
UIPageControlpc=(UIPageControl)[self.viewviewWithTag:10];
intcurrentPage=scrollView.contentOffset.x/WIDTH;
NSLog(@"currentPage=%d",currentPage);
if(currentPage>5){
_scrollView.contentOffset=CGPointMake(WIDTH2,0);
}elseif(currentPage<1){
_scrollView.contentOffset=CGPointMake(4WIDTH,0);
pc.currentPage=4;
}
if(currentPage>0&¤tPage<5){
pc.currentPage=currentPage-1;
}elseif(currentPage==5)
{
pc.currentPage=0;
}elseif(currentPage==6)
{
pc.currentPage=1;
}elseif(currentPage==0)
{
pc.currentPage=3;
}
NSLog(@"pc.currentPage=%ld",(long)pc.currentPage);
}
}
|
|