今天我們講講 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
// 監(jiān)測目前滾動的位置
//scrollView.contentOffset
// 設置內(nèi)容的滾動范圍 能滾多遠
scrollView.contentSize = CGSize(width: 600, height: 200)
// 四周增加額外的滾動區(qū)域厨内,一般用來避免scrollView的內(nèi)容被其他控件擋住
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、已經(jīng)開始滾動(不管是拖唯蝶、拉、放大遗嗽、縮小等導致)都會執(zhí)行此函數(shù)
func scrollViewDidScroll(_ scrollView: UIScrollView) {
}
// 2粘我、將要開始拖拽,手指已經(jīng)放在view上并準備拖動的那一刻
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
}
// 3、將要結束拖拽征字,手指已拖動過view并準備離開手指的那一刻都弹,注意:當屬性isPagingEnabled為YES時,此函數(shù)不被調(diào)用
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
}
// 4匙姜、已經(jīng)結束拖拽畅厢,手指剛離開view的那一刻
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
}
// 5、view將要開始減速氮昧,view滑動之后有慣性
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
}
// 6框杜、view已經(jīng)停止?jié)L動
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
}
// 7、view的縮放
func scrollViewDidZoom(_ scrollView: UIScrollView) {
}
// 8袖肥、有動畫時調(diào)用
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
}