> 原文:http://www.swiftyper.com/Swift/scrollviewpart2.html
# ScrollView 学习笔记 - Part2
`ScrollView`最基本的功能当然就是“滚动”啦。
要实现`ScrollView`的滚动功能很简单,只需要三个步骤:
## 子视图
设置`ScrollView`的子视图,一般情况下,这个视图要比`ScrollView`来得大,不然我们也就不需要滚动啦
## ContentSize属性
设置`ScrollView`的`ContentSize`属性,这个属性用来指定需要滚动的内容的大小,即使你设置的子视图比`ScrollView`大,但是如果这个属性没有设置的,依然还是不能滚动的
## ContentOffset属性
设置`ScrollView`的`ContentOffset`属性,在前一小节中,学习过了`Bounds`属性,我们知道可以直接设置`Bounds`属性的位置来展现不同区域的内容,但是因为这个功能在`ScrollView`当中太常用了,所以系统直接为我们直接了一个更加方便的属性来直接进行控制。
来张图加深下理解
![](https://box.kancloud.cn/2015-11-19_564d44661ad94.png)
## ScrollView的委托
按照苹果的设计模式,如果想监听到`ScrollView`的事件,当然要实现它的委托了。
`ScrollView`的委托事件有相当多,对于滚动来说最重要的一个是:
~~~
scrollViewDidScroll(_:)
~~~
这个委托会在`ScrollView`的内容进行滚动的时候被调用,我们可以在里面监听到它当前的`ContentOffset`。
其它的还有:
~~~
scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)
scrollViewDidScrollToTop(_:)
scrollViewDidEndDecelerating(_:)
// ...
~~~
## 总结
使用`ScrollView`来对内容进行滚动其实是很简单的,只要记好三个步骤就行了,更加高级的内容再慢慢学习来。