一、UIScrollView的创建和常用属性
1、UIScrollView概述
- UIScrollView是UIView的子类。
- UIScrollView作为所有滚动视图的基类。
- UIScrollView主要使用在滚动头条(轮播图),相册等常见的功能里。
2、UIScrollView的创建
#define kWidth self.frame.size.width #define kHeight self.frame.size.height // 创建一个和屏幕尺寸相同的UIScrollView self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , kWidth, kHeight)]; // 设置背景颜色 self.scrollView.backgroundColor = [UIColor yellowColor]; // 添加到父视图 [self addSubview:self.scrollView];
3、contentSize滚动范围
- UIScrollView用来控制滚动范围的重要属性contentSize,通过这个重要属性设置才可以控制视图的滚动,我们目标铺设3个屏幕宽度的图片,所以我们设置滚动范围是3个屏幕宽度
- contentSize有两个参数,一个是width,另一个是height,分别设置两个值有不同的效果
// 水平方向滚动 self.scrollView.contentSize = CGSizeMake(kWidth * , ); , kHeight * );
4、UIScrollView的属性
//设置UIScrollView的滚动范围之后,接下来用for循环的方式在scrollView平铺3张图片,注意每个imageView的位置 ; i < ; i++) { UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((i - ) * kWidth, , kWidth, kHeight)]; imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@“h%d.jpg”, i]]; [scrollView addSubview:imageView]; } //通过偏移量的设置可以让指定的视图显示出来(让哪张图片最先显示) // 直接设置第二个视图显示在屏幕上 self.scrollView.contentOffset = CGPointMake(kWidth, ); //可以让ScrollVIew按页来滚动 self.scrollView.pagingEnabled = YES; // 关闭水平方向滚动条 self.scrollView.showsHorizontalScrollIndicator = NO; //关闭垂直方向滚动条 self.scrollView.showsVerticalScrollIndicator = NO; //关闭边界回弹效果 self.scrollView.bounces = NO; //设定一个tag值 self.scrollView.tag = ; // 如果要有水平或垂直的回弹效果 scrollView的滚动范围需要设置为屏幕大小 self.scrollView.alwaysBounceHorizontal = YES; self.scrollView.alwaysBounceVertical = YES;
- 二、UIScrollView的协议方法
1、UIScrollView协议方法
- 一是监控滚动时候的状态。
- 二是控制视图的缩放。
2、
- 触发顺序:BeginDragging->DidEndDragging->BeginDecelerating->DidEndDecelerating
3、控制视图的缩放
// 设置缩放的最大比例 self.scrollView.maximumZoomScale = ; // 设置缩放的最小比例 self.scrollView.minmumZoomScale = 0.5; // 设置当前的比例 self.scrollView.zoomScale = ;
- 当我们在ViewDidLoad方法里设置好最大和最小的缩放比例这两个属性之后我们就可以对视图进行缩放操作。
三、UIScrollView和UIPageControl的结合使用