1、UIScrollView的基本概念
在iOS应用中,使用UIView类来显示一个视图。UIView只是最基本的视图类,单单靠UIView来方便地完成复杂应用开发是不可能的,因此需要多种更加强大的派生类来丰富UIKit的类库。其中UIScrollView便是其中的一员,另外UIScrollView还是UITableView、UITextView和UIColletionView类的基类。由于继承自UIView,UIScrollView的根本作用依然是用于显示一个视图,但是与其父类UIView的区别在于UIScrollView可以对内容区域进行扩展,其承载的视图显示范围可以大于设备的屏幕大小,而且由此而产生的多种扩展属性和方法。UIScrollView的引入还使得视图可以用手势操作进行交互,如滑动、拖动、捏合等操作。
2、UIScrollView的几个常用Property
由于UIScrollView的核心价值在于该类可以操作的内容范围可以远远大于设备的屏幕,所以与内容范围相关的属性成为了该类的关键。
(1)、内容大小
@property(nonatomic) CGSize contentSizecontentSize表示UIScrollView中包含的视图范围,默认情况下该值为CGSizeZero。
(2)、当前视图的偏移量
@property(nonatomic) CGPoint contentOffset表示显示在当前屏幕中的部分相对于总体的内容视图的偏移量。
(3)、内容视图是否分页显示
@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled当该值为YES时,在滑动页面时内容会按页显示在屏幕上。
(4)、缩放比例
@property(nonatomic) CGFloat zoomScaleUIScrollView天生支持pinch缩放操作。通过该属性可以随时获取当前视图的缩放比例。该值的默认值为1.0。
(5)、最大和最小缩放比例
@property(nonatomic) CGFloat maximumZoomScale @property(nonatomic) CGFloat minimumZoomScale设置视图在缩放时允许达到的最大和最小比例。
3、UIScrollView的常用方法
(1)、使视图缩放到某一个位置
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated指定一个rect区域,使视图缩放到该指定的区域。这个区域必须是viewForZoomingInScrollView:方法所返回的视图,因为只有该方法返回的视图才能被激活缩放功能。
(2)、改变视图的缩放比例
- (void)setZoomScale:(CGFloat)scale animated:(BOOL)animated指定缩放比例为scale所表示的值。该值必须在minimumZoomScale和maximumZoomScale区间内方合法。
除了这些意外还有很多属性和方法可供使用,具体可参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/index.html#//apple_ref/occ/instm/UIScrollView
下面附上一个使用UIScrollView的demo,采用两级的UIScrollView模拟的一个相册demo:点这里下载。