ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> 原文: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`来对内容进行滚动其实是很简单的,只要记好三个步骤就行了,更加高级的内容再慢慢学习来。