一个视图,对它包含的视图可以滚动并且放大缩小
1.contentOffset
即偏移量,其中分为contentOffset.y=内容的顶部和frame顶部的差值,contentOffset.x=内容的左边和frame左边的差值,下面重点阐述contentOffset.y,因为contentOffset.y最为常用。
2.contentSize:即内容,就是scrollview可以滚动的区域,比如frame = (0 ,0 ,100 ,200)
contentSize = (100 ,400),代表你的scrollview可以上下滚动,滚动区域为frame大小
的两倍。其中常用的是contentSize.height = 内容的高度。
3.contentInset
contentInset:即内边距,contentInset = 在内容周围增加的间距(粘着内容),contentInset的单位是UIEdgeInsets,默认值为UIEdgeInsetsZero。
4.adjustedContentInset
get 属性 测试得到 就是contentInset的值
|
The insets derived from the content insets and the safe area of the scroll view.
|
5.当scorllView的 inset 变化时 发个通知告诉代理方法
open func adjustedContentInsetDidChange()
|
Called when the adjusted content insets of the scroll view change.
|
测试的时候没啥用 代理方法有没有他照走
6.contentInsetAdjustmentBehavior
- open var frameLayoutGuide: UILayoutGuide { get }
其实上面的没搞明白
留个简书以后遇到问题再看
https://www.jianshu.com/p/b42030a37953
8
isDirectionalLockEnabled: Bool
// default NO. if YES, try to lock vertical or horizontal scrolling while dragging
9
bounces alwaysBounceVertical alwaysBounceHorizontal isPagingEnabled isScrollEnabled
showsHorizontalScrollIndicator showsVerticalScrollIndicator
10
scrollIndicatorInsets indicatorStyle
11
decelerationRate
手离开滑动时scrollView的滑动速度
Double类型
12
indexDisplayMode
滑动的时候 索引显示方式
13
open func setContentOffset(_ contentOffset: CGPoint, animated: Bool) // animate at constant velocity to new offset
14
open func scrollRectToVisible(_ rect: CGRect, animated: Bool) // scroll so rect is just visible (nearest edges). nothing if rect completely visible
移到指定的区域
15.flashScrollIndicators()
展示当前指示条在哪 🙄这个功能 哈哈哈 ,,,,哎
16.isTracking(get)
用户是手是否在屏幕上按着
17.isDragging(get)
是否在拖拽状态
// returns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging
- open var isDecelerating: Bool { get } // returns YES if user isn't dragging (touch up) but scroll view is still moving
手离开了 是否开始减速了
19.delaysContentTouches canCancelContentTouches
open func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool
open func touchesShouldCancel(in view: UIView) -> Bool
对这两个属性 下面的这篇简书介绍的很详细
说白就是 摸到 和 不摸
https://www.jianshu.com/p/2b171f6153ad
20
放大缩小的一些属性 方法 略过
21
open var scrollsToTop: Bool
open var panGestureRecognizer: UIPanGestureRecognizer { get }
open var pinchGestureRecognizer: UIPinchGestureRecognizer? { get }
open var directionalPressGestureRecognizer: UIGestureRecognizer { get }
22
keyboardDismissMode
键盘的隐藏模式….
用到的时候再说
open var refreshControl: UIRefreshControl?
自带下拉刷新控件
一下是代理方法
滚动的代理
缩放的代理