UIScrollView

1.概念

允许滚动和缩放其上的子视图的视图,继承于UIView。
下面👇是搬运了苹果参考上的的属性和方法然后翻译了一下

2.属性与函数

1)管理内容大小和偏移量

1、contentOffset
var contentSize: CGSize { get set }

内容视图的原点与滚动视图的原点偏移的点。

2、contentSize
var contentOffset: CGPoint { get set }

内容视图的大小,表示UIScrollView的大小

3、func setContentOffset
func setContentOffset(_ contentOffset: CGPoint, animated: Bool)

设置与内容视图的原点相对应的偏移量,该偏移量与接收者的原点相对应,第一个参数是偏移量,另外一个是是否展示动画

2)管理内容的插入行为

1、adjustedContentInset
var adjustedContentInset: UIEdgeInsets { get }

从内容插图和滚动视图的安全区域派生的插图。

2、contentInset
var contentInset: UIEdgeInsets { get set }

内容视图从安全区域或滚动视图边缘插入的自定义距离。

3、contentInsetAdjustmentBehavior
var contentInsetAdjustmentBehavior: UIScrollView.ContentInsetAdjustmentBehavior { get set }

用来确认系统的偏移的行为

4、UIScrollView.ContentInsetAdjustmentBehavior
enum ContentInsetAdjustmentBehavior : Int

指示如何将安全区域插图添加到调整后的内容插图中的常数。

5、adjustedContentInsetDidChange()
func adjustedContentInsetDidChange()

当滚动视图的调整后的内容插图发生更改时调用。

3)获取布局指南

1、frameLayoutGuide
var frameLayoutGuide: UILayoutGuide { get }

基于滚动视图的未变换框架矩形的布局指南。

2、contentLayoutGuide
var contentLayoutGuide: UILayoutGuide { get }

基于滚动视图的未变换内容矩形的布局指南。

4)配置滚动视图

1、isScrollEnabled
var isScrollEnabled: Bool { get set }

表示是否可以滚动

2、isDirectionalLockEnabled
var isDirectionalLockEnabled: Bool { get set }

确定它是否在特定方向上禁用滚动。

3、isPagingEnabled
var isPagingEnabled: Bool { get set }

表示滚动试图是否启用分页

4、scrollsToTop
var scrollsToTop: Bool { get set }

表示是否启用滚动到顶部的手势

5、bounces
var bounces: Bool { get set }

表示是否在内容边缘弹回

6、alwaysBounceVertical
var alwaysBounceVertical: Bool { get set }

表示垂直滚动到达内容结尾时是否总是发生跳动。

7、alwaysBounceHorizontal
var alwaysBounceHorizontal: Bool { get set }

表示垂直滚动到达内容结尾时是否总是发生跳动。

5)获取滚动状态

1、isTracking
var isTracking: Bool { get }

表示用户是否触摸内容启动滚动状态

2、isDragging
var isDragging: Bool { get }

表示用户是否已经启动滚动内容

3、isDecelerating
var isDecelerating: Bool { get }

表示用户抬起手指后内容是否在滚动视图中移动。

4、decelerationRate
var decelerationRate: UIScrollView.DecelerationRate { get set }

表示用户抬起手指后的减速率

5、UIScrollView.DecelerationRate
struct DecelerationRate

定义了滚动视图的减速率

6)管理滚动指示器和刷新控件

1、indicatorStyle
var indicatorStyle: UIScrollView.IndicatorStyle { get set }

滚动指示器的样式

2、UIScrollView.IndicatorStyle
enum IndicatorStyle : Int

各种各样的指示器样式

3、showsHorizontalScrollIndicator
var showsHorizontalScrollIndicator: Bool { get set }

表示水平滚动指示器是否可见

4、showsVerticalScrollIndicator
var showsVerticalScrollIndicator: Bool { get set }

表示水平滚动指示器是否可见

5、flashScrollIndicators()
func flashScrollIndicators()

暂时显示滚动指示器

6、refreshControl
var refreshControl: UIRefreshControl? { get set }

与滚动试图关联的刷新控件

7)滚动到特定位置

1、scrollRectToVisible(_:animated:)
func scrollRectToVisible(_ rect: CGRect, animated: Bool)

滚动内容的特定区域,以便在接收器中可见。

8)管理触碰

1、touchesShouldBegin(_:with:in:)
func touchesShouldBegin(_ touches: Set<UITouch>, 
                   with event: UIEvent?, 
                     in view: UIView) -> Bool

通过子类重写手指触碰屏幕内容的默认行为

2、touchesShouldCancel(in:)
func touchesShouldCancel(in view: UIView) -> Bool

返回是否取消与内容子视图相关的触摸并开始拖动。

3、canCancelContentTouches
var canCancelContentTouches: Bool { get set }

这个值表示内容视图中的触摸是否始终导致跟踪。

4、delaysContentTouches
var delaysContentTouches: Bool { get set }

表示滚动视图是否延迟对触摸手势的处理。

5、directionalPressGestureRecognizer
var directionalPressGestureRecognizer: UIGestureRecognizer { get }

底层手势识别用于定向按钮按压。

9)缩放和平移
1、panGestureRecognizer
var panGestureRecognizer: UIPanGestureRecognizer { get }

平移手势的底层手势识别器

2、pinchGestureRecognizer
var pinchGestureRecognizer: UIPinchGestureRecognizer? { get }

缩放手势的底层手势识别器

3、zoom(to:animated:)
func zoom(to rect: CGRect, 
 animated: Bool)

缩放到内容的特定区域,以便在接收器中可见。

4、zoomScale
var zoomScale: CGFloat { get set }

表示应用于滚动视图内容的当前比例因子,是一个浮点数。

5、setZoomScale(_:animated:)
func setZoomScale(_ scale: CGFloat, 
         animated: Bool)

设置zoomScale的函数

6、maximumZoomScale \ minimumZoomScale
var maximumZoomScale: CGFloat { get set }
var minimumZoomScale: CGFloat { get set }

应用滚动视图的最大比例因子与最小比例因子。

7、isZoomBouncing
var isZooming: Bool { get }

表示缩放超出了为接收器指定的缩放比例限制。

8、isZooming
var isZooming: Bool { get }

表示当前内容视图正在缩放

9、bouncesZoom
var bouncesZoom: Bool { get set }

当缩放超过最大或最小限制时,确定滚动视图是对内容缩放进行动画处理。

10)控制键盘

1、keyboardDismissMode
var keyboardDismissMode: UIScrollView.KeyboardDismissMode { get set }

在滚动开始时关闭键盘的一种行为,就是选择一种关闭键盘的方法

2、UIScrollView.KeyboardDismissMode
enum KeyboardDismissMode : Int

方法有哪些,列在下面

11)管理索引

1、indexDisplayMode
var indexDisplayMode: UIScrollView.IndexDisplayMode { get set }

滑动时索引展现方式

2、UIScrollView.IndexDisplayMode
enum IndexDisplayMode : Int

索引展现方式的枚举

12)实例属性

1、automaticallyAdjustsScrollIndicatorInsets
var automaticallyAdjustsScrollIndicatorInsets: Bool { get set }
2、horizontalScrollIndicatorInsets
var horizontalScrollIndicatorInsets: UIEdgeInsets { get set }
3、verticalScrollIndicatorInsets
var verticalScrollIndicatorInsets: UIEdgeInsets { get set }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容