UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds ];
[self addSubview:scrollView];
[self addSubview:scrollView];
self.scrollView = scrollView;
scrollView.backgroundColor = [UIColor cyanColor];
//创建多个图片
int count = 3;
for (int i = 0; i < count; i++) {
//设置每个imageView的frame
CGRect frame= CGRectMake(self.frame.size.width*i,0,self.frame.size.width, self.frame.size.height);
//创建一个图片对象
NSString *name = [NSString stringWithFormat:@"shuang_%d.jpg",i];
UIImage *image = [UIImage imageNamed:name];
//创建一个图片视图,放置图片对象
UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
//设置图片视图的frame
imageView.frame = frame;
//将多个图片对象添加到图片视图上
[_scrollView addSubview:imageView];
}
//设置整屏翻页
_scrollView.pagingEnabled = YES;
//(一定要设置)设置内容大小
_scrollView.contentSize = CGSizeMake(self.frame.size.width*count, self.frame.size.height);
//添加上小点点
self.pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, self.frame.size.height-40, self.frame.size.width,40)];
[self addSubview:_pageControl];
//设置点点的个数
_pageControl.numberOfPages = count;
_pageControl.backgroundColor = [UIColor blueColor];
//给小点点定义点击事件
-(void)pageControlAction:(UIPageControl *)sender{
//可以通过currentPage获取当前第几个点
NSLog(@"%ld",sender.currentPage);
//计算出偏移量scrollView.frame.size.width*sender.currentPage
CGPoint currentOffset = CGPointMake(self.rootView.scrollView.frame.size.width*sender.currentPage, 0);
//self.rootView.scrollView.contentOffset = currentOffset;
//将偏移量赋值给scrollView.contentOffset = offset
[self.rootView.scrollView setContentOffset:currentOffset animated:YES];
}
//滚动过程中
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
// NSLog(@"%d,%s",__LINE__,__FUNCTION__);
NSLog(@"开始滚动");
}
//开始拖动
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
// NSLog(@"%d,%s",__LINE__,__FUNCTION__);
NSLog(@"开始拖动");
}
//结束拖动时执行
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
NSLog(@"%d,%s",__LINE__,__FUNCTION__);
}
//开始减速
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
NSLog(@"%d,%s",__LINE__,__FUNCTION__);
NSLog(@"开始减速");
}
//结束:当视图完全停止的时候执行(减速结束)
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"%d,%s",__LINE__,__FUNCTION__);
NSLog(@"结束");
//获得当前的偏移量
CGPoint offset = scrollView.contentOffset;
//使用偏移量/scrollView的宽度,得到当前的页数的下标
self.rootView.pageControl.currentPage = offset.x/self.rootView.frame.size.width;
}