> 原文:http://www.swiftyper.com/Swift/scrollviewpart3.html
# ScrollView 学习笔记 - Part3
`ScrollView`的第二个基本功能就是“缩放”。
要实现缩放也很简单,只需要两个步骤:
## 实现委托
要实现缩放,需要实现
~~~
viewForZoomingInScrollView:
~~~
这个委托方法,在这个方法中返回需要进行缩放的`ScrollView`的子视图。
## 设置缩放级别
设置缩放的最大和最小级别:
~~~
scrollView.minimumZoomScale = 0.1
scrollView.maximumZoomScale = 3.0
scrollView.zoomScale = 1.0
~~~
只要以上两个步骤就可以实现缩放了,不过,如果只是单纯设置了最小缩放级别,可能会由于缩放得太小,导致屏幕有很多的空白十分难看。所以,我们最好根据`ScrollView`的大小来计算出最小的缩放级别。
~~~
private func setZoomParamatersForSize(scrollViewSize: CGSize) {
let imageSize = imageView.bounds.size
let widthScale = scrollViewSize.width / imageSize.width
let heightScale = scrollViewSize.height / imageSize.height
let minScale = min(widthScale, heightScale)
scrollView.minimumZoomScale = minScale
scrollView.maximumZoomScale = 3.0
scrollView.zoomScale = minScale
}
~~~
同时,为了保证在屏幕方向变化的时候,缩放级别也能改变,还得实现这个方法:
~~~
override func viewWillLayoutSubviews() {
setZoomParamatersForSize(scrollView.bounds.size)
}
~~~
## 其它委托方法
除了`viewForZoomingInScrollView:`,在`ScrollView`的委托方法中,还有两个与缩放有关:
~~~
scrollViewDidZoom:
scrollViewDidEndZooming:
~~~
## 总结
在`ScrollView`当中,实现缩放也是相当容易的,主要还是设置缩放级别来适应`ScrollView`这点比较重要,其它都是很直观的。