之所以出现视图滑动的原因是由于要展示的内容的大小小于视图的大小,这时才会出现滑动效果
1.初始化并且设置大小
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(10, 60, 300, 400)];
2.设置scrollView的背景颜色
scrollView.backgroundColor = [UIColor blackColor];
3.添加到视图控制器
[self.view addSubview:scrollView];
4.滑动视图的偏移量
scrollView.contentOffset = CGPointMake(100, 100);
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 400, 500)];
imageView.image = [UIImage imageNamed:@"chessMenu.png"];
[scrollView addSubview:imageView];
5.这时候是不能移动的挚友当如下操作执行
scrollView.contentSize = CGSizeMake(800, 800);
6.设置边界反弹效果
scrollView.bounces = NO;
7.设置滚动条的显示(水平和垂直)
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
8.设置缩放比例
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 0.5;
实现代理让一个图片缩放
scrollView.delegate = self;
9.返回一个view,以供缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
10.动画停止的时候调用:scroll的内容随着手势的拖动,产生惯性向前的动作停止时
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
11.停止拖动的时候,手指离开屏幕的时候
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
12.在滚动时调用
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
13.设置整页滑动
scroll.pagingEnabled = YES;
14.页码指示器用来显示多少页的
_pageControl = [[UIPageControl alloc]init];
设置页码显示的位置
CGPoint s = self.view.center;
s.y = s.y * 8 / 5;
_pageControl.center = s;
15.一共有多少页
_pageControl.numberOfPages = arr.count;
16.设置当前页
_pageControl.currentPage = 0;
_pageControl.userInteractionEnabled = NO;
17.设置普通状态的颜色
_pageControl.pageIndicatorTintColor = [UIColor blueColor];
18.设置当前页的颜色
_pageControl.currentPageIndicatorTintColor = [UIColor orangeColor];
[self.view addSubview:_pageControl];
19.点击事件用来滚动的一个方法
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSInteger currentPage = scrollView.contentOffset.x / scrollView.frame.size.width;
_pageControl.currentPage = currentPage;
}