【iOS7的一些总结】13、UIScrollView的概念和基本使用方法

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 contentSize
contentSize表示UIScrollView中包含的视图范围,默认情况下该值为CGSizeZero。


(2)、当前视图的偏移量

@property(nonatomic) CGPoint contentOffset
表示显示在当前屏幕中的部分相对于总体的内容视图的偏移量。


(3)、内容视图是否分页显示

@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled
当该值为YES时,在滑动页面时内容会按页显示在屏幕上。


(4)、缩放比例

@property(nonatomic) CGFloat zoomScale
UIScrollView天生支持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:点这里下载

上一篇:面经手册 · 第11篇《StringBuilder 比 String 快?空嘴白牙的,证据呢!》


下一篇:面经手册 · 第6篇《带着面试题学习红黑树操作原理,解析什么时候染色、怎么进行旋转、与2-3树有什么关联》