今天我們講講 UIScrollView 的設置 。 還是那句老話: 新手學習 、大神略過。
- UIScrollView 的定義
var scrollView = UIScrollView()
- 常用屬性設置
self.view.backgroundColor = UIColor.gray
scrollView.frame = CGRect(x: 50, y: 100, width: 300, height: 200)
scrollView.backgroundColor = UIColor.red
// 監測目前滾動的位置
//scrollView.contentOffset
// 設置內容的滾動范圍 能滾多遠
scrollView.contentSize = CGSize(width: 600, height: 200)
// 四周增加額外的滾動區域,一般用來避免scrollView的內容被其他控件擋住
scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20)
// 控制垂直方向遇到邊框是否反彈
scrollView.alwaysBounceVertical = true
// 控制水平方向遇到邊框是否反彈
scrollView.alwaysBounceHorizontal = true
// 是否顯示水平滾動條
scrollView.showsHorizontalScrollIndicator = false
// 是否顯示垂直滾動條
scrollView.showsVerticalScrollIndicator = false
// 是否以每頁的形式進行更換
scrollView.isPagingEnabled = true
// 是否可以滾動
scrollView.isScrollEnabled = true
// 指定控件是否只能在一個方向上滾動
scrollView.isDirectionalLockEnabled = false
// 控制控件遇到邊框是否反彈
scrollView.bounces = false
// 指定滾動條在scrollerView中的位置
scrollView.scrollIndicatorInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
// 設置滾動條的樣式
scrollView.indicatorStyle = UIScrollViewIndicatorStyle.default
// 改變scrollerView的減速點位置
scrollView.decelerationRate = 10
// 縮小的最小比例
scrollView.minimumZoomScale = 0
// 放大的最大比例
scrollView.maximumZoomScale = 5
// 控制控件滾動到頂部
scrollView.scrollsToTop = true
// 設置代理
scrollView.delegate = self
self.view.addSubview(scrollView)
- 代理方法
// 1、已經開始滾動(不管是拖、拉、放大、縮小等導致)都會執行此函數
func scrollViewDidScroll(_ scrollView: UIScrollView) {
}
// 2、將要開始拖拽,手指已經放在view上并準備拖動的那一刻
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
}
// 3、將要結束拖拽,手指已拖動過view并準備離開手指的那一刻,注意:當屬性isPagingEnabled為YES時,此函數不被調用
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
}
// 4、已經結束拖拽,手指剛離開view的那一刻
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
}
// 5、view將要開始減速,view滑動之后有慣性
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
}
// 6、view已經停止滾動
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
}
// 7、view的縮放
func scrollViewDidZoom(_ scrollView: UIScrollView) {
}
// 8、有動畫時調用
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
}