关于UIScrollView属性跟方法的总结

iOS中UIScollView的总结

  在iOS开发中可以说UIScollView是所有滑动类视图的基础,包括UITableView,UIWebView,UICollectionView等等,UIScrollView类为显示大于应用程序窗口的内容提供支持。它使得用户可以使用滑动手势来滚动,并可以使用扩张/收缩手势来放大缩小部分内容。UIScrollView类可以拥有一个代理,该代理采用UIScrollViewDelegate协议。对于缩放的工作,代理必须实现viewForZoomingInScrollView:以及scrollViewDidEndZooming:withView:atScale:;此外,最大(maximumZoomScale)和最小(minimumZoomScale)缩放规模必须不同。

其中有很多常用到的属性设置和方法,在这里统一做下记录。

属性

alwaysBounceHorizontal

布尔值,规定是否在水平方向在滚动到末尾时产生“反弹”。

若该属性及bounces被设定为YES,水平拖拽即使在内容小于滚动视图边缘时也被允许。默认值为NO。

alwaysBounceVertical

布尔值,规定是否在垂直方向在滚动到末尾时产生“反弹”。

若该属性及bounces被设定为YES,垂直拖拽即使在内容小于滚动视图边缘时也被允许。默认值为NO。

bounces

布尔值,控制是否滚动视图能否超出内容边缘再弹回。

若该属性的值为YES。滚动视图会在遇到内容边缘时反弹。若值为NO,滚动会在达到边缘时立即停止而不反弹。默认值为YES。

bouncesZoom

布尔值,规定滚动视图是否在缩放超出最大值和最小值动画时播放内容缩放动画。

若该属性的值为YES,在缩放超出最大值或最小值时,滚动视图会临时播放一个稍超出限制范围的动画再返回限制大小。若该属性为NO,缩放会在达到限制大小时立即停止,默认为YES。

canCancelContentTouches

布尔值,控制触摸内容视图时是否总是导致跟踪。

若该属性的值为YES,内容中的视图会开始跟踪触摸的手指,若用户拖拽手指到足以滚动的距离,视图会收到touchesCancelled:withEvent:信息,而滚动视图会作为一个滚动事件处理这次触摸。若该属性的值为NO,滚动视图在内容视图开始跟踪时将无视手指移动,不进行滚动。

contentInset

表示内容视图从封闭滚动视图中被嵌入的距离。

用该属性增加围绕内容的滚动区域。单位为点。默认值为UIEdgeInsetssZero。

contentOffset

表示从滚动视图的原点到内容视图的原点的偏移的点。

默认值为CGPointZero。

contentSize

内容视图的大小。

单位是点。默认值是CGSizeZero。

decelerating

返回滚动视图中的内容是否在提起手指后继续移动。(只读)

若用户已不再拖拽内容但滚动还在发生时返回YES。

decelerationRate

浮点数,规定用户提起手指后的滚动减速速率。

你的应用程序可以使用UIScrollViewDecelerationRateNormal和UIScrollViewDecelerationRateFast常量作为引用点以获得一个合理的减速速率。

delaysContentTouches

布尔值,规定滚动视图是否延迟处理触摸下压手势。

若该属性值为YES,滚动视图会延迟处理下压手势直到可以确定该操作的意图是否是滚动。若值为NO,滚动视图会立即调用touchesShoudBegin:withEvent:inContentView:。默认值为YES。

具体讨论详见类讨论。

delegate

滚动视图对象的托管。

托管必须实现UIScrollViewDelegate协议。UIScrollView类(不保持托管),会调用托管实现中的每一个方法。

directionalLockEnabled

布尔值,规定是否滚动在某一方向上被禁止。

若该属性为NO,滚动在水平和垂直方向上都被允许。若该属性为YES,当用户开始某一方向的滚动(水平或垂直),滚动视图会禁止另一方向的滚动。若以对角线方向拖动,滚动则不会被锁定且用户在本次拖动完成之前可以在任意方向拖动。默认值为NO。

dragging

布尔值,表明用户是否开始滚动内容。

该属性持有的值可能需要滚动一段时间或距离才会被设定成YES。

indicatorStyle

滚动控制器的风格。

默认风格是UIScrollViewIndicatorStyleDefault。参见“Scroll Indicator Style”获取更多关于此常量的描述。

maximumZoomScale

浮点数,指定可被应用滚动视图内容的最大缩放因子。

该值规定了内容可被放大到多大。默认值为1.0。

minimumZoomScale

浮点数,指定可被应用滚动视图内容的最小缩放因子。

该值规定了内容可被缩小到多小。默认值为1.0。

pagingEnabled

布尔值,规定滚动视图是否可以翻页。

若该值为YES,滚动视图会在用户滚动时停止在滚动视图边框的整数倍处。默认值为NO。

panGestureRecognizer

当前用于滑动手势的手势识别器(只读)

在希望更加精确地控制被滚动视图识别的滑动手势时,你的应用程序可访问此属性。

pinchGestureRecognizer

当前用于扩张/收缩手势的手势识别器(只读)

在希望更加精确地控制被滚动视图识别的扩张/收缩手势时,你的应用程序可访问此属性。

scrollEnabled

布尔值,规定是否允许滚动。

若该属性的值为YES,允许滚动,若为NO,禁止滚动。默认值为YES。

当滚动被禁止时,滚动视图将不再接受触摸事件;滚动视图会将事件传送至响应链中。

scrollIndicatorInsets

表示滚动指示器从封闭滚动视图中被嵌入的距离。

默认值为UIEdgeInsetssZero。

scrollToTop

布尔值,控制滚动至顶部的手指是否有效。

滚动至顶部手势是触摸状态栏;当此属性为YES时,滚动视图在此手势发生时跳转至状态栏。此属性默认为YES。

该手势作用于单个可见的滚动视图;若有多个滚动视图(例如,日期选择器)设定了这个属性,或者若托管在scrollViewShouldScrollToTop:中返回了NO,UIScrollView会无视滚动到顶部的请求。在滚动视图滚动到内容视图的顶部之后,它会给托管发送一个scrollViewDidScrollToTop:信息。

showsHorizontalScrollIndicator

布尔值,控制是否水平滚动指示器可见。

默认值为YES。指示器会在跟踪时显示并在跟踪之后消失。

showsVerticalScrollIndicator

布尔值,控制是否垂直滚动指示器可见。

默认值为YES。指示器会在跟踪时显示并在跟踪之后消失。

tracking

返回用户是否触摸内容并初始化滚动。(只读)

若用户已触摸内容视图但可以还示开始拖动时该属性值为YES。

zoomBouncing

布尔值,表明缩放已超过了指定接收器的缩放限制。

若滚动视图缩放超出最大值或最小值时该值为YES;否则值为NO。

zooming

布尔值,表明内容视图当前是否在缩。

若用户发出了一个缩放手指,该值为YES,否则为NO。

zoomScale

浮点数,指定当前应用于滚动视图的内容的缩放因子。

该值规定了内容当前缩放了多少。默认值是1.0。

方法

flashScrollIndicators

短暂地显示滚动指示器。

你应该在把滚动视图放在最前端时调用此方法。

scrollRectToVisible:animated:

滚动内容的指定区域以便使内容在接受器中可见。

-(void)scrollRectToVisible:(CGRect)rectanimated:(BOOL)animated

参数:

rect

定义内容视图区域的矩形。

animated

若滚动应被动画化则传入YES,否则为NO。

该方法滚动内容视图以使rect中定义的区域可以刚好显示在滚动视图中。若区域已经是可见的,该方法什么也不做。

setContentOffset:animated:

设定内容视图原点相对于接收器原点的偏移。

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

参数

contentOffset

内容视图原点的偏移点(以点的形式表示)。

animated

若YES,用一个恒定的速度以动画形式移动到新的偏移处;NO则立即移动。

setZoomScale:animated:

浮点数,指定当前缩放因子。

- (void)setZoomScale:(float)scale animated:(BOOL)animated

参数

scale

要缩放内容到的新值。

animated

若YES,动画化缩放到时新的缩放大小,NO则立即缩放。

新的缩放值应在minnumZoomScale和maximumZoomScale之间。

时间: 2024-08-05 06:40:49

关于UIScrollView属性跟方法的总结的相关文章

让IE浏览器支持CSS3圆角属性的方法

如果要想在IE浏览器中实现圆角的效果,我们一般都会采用圆角图片的方式.用图片的话,基本就跟浏览器没有多大关系了,因为任何浏览器都支持这种方式.今天我们主要是讲解如果用CSS3样式表来实现圆角效果,值得注意的是,IE6/7/8这三个IE浏览器版本都不支持CSS3的解析,只有还不太主流的IE9支持CSS3和HTML5的标准.让IE支持CSS3的解析方法有很多种,(HTML5 Shiv – 让该死的IE系列支持HTML5吧)下面介绍一种实用的让IE支持CSS3解析的方法——IE利用VML矢量可标记语言

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons

动态创建html内容时所用的W3C DOM属性和方法

document的属性和方法:  document.createElement(tagName) :文档对象上的createElement方法可以创建由tagName指定的元素.如果以串div作为方法参数,就会生成一个div元素.  document.createTextNode(text) :文档对象的createTextNode方法会创建一个包含静态文本text的文本节点.  document.createAttribute(): 用指定的名字创建新的Attr节点.  document.cr

jQuery事件对象的属性和方法

jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(

JavaScript document属性和方法

JavaScript document属性和方法 --------------------------------------------属性: 1. Attributes     存储节点的属性列表(只读) 2. childNodes     存储节点的子节点列表(只读) 3 .dataType     返回此节点的数据类型 4. Definition     以DTD或XML模式给出的节点的定义(只读) 5. Doctype     指定文档类型节点(只读) 6 .documentEleme

关于JavaScript的对象,属性,方法的一些理解和认识。

对象      万物皆对象,所谓的对象,就是一个实体,一个物体,对象一定是有一个名字的, 在JavaScript中有很多很多对象,这些对象天生就存在在JavaScript中,比如document就是一个对象,window也是对象.     JavaScript想调用一个对象,非常的简单,直接打它的名字即可.     在JavaScript中,每个对象是负责不一样的事情.    document负责一切和文档相关的事情:window负责一切和浏览器窗口相关的事情:console负责一切和控制台相关

JavaScript设置获取和设置属性的方法

这篇文章主要介绍了JavaScript设置获取和设置属性的方法,学会使用getAttribute.setAttribute的用法,需要的朋友可以参考下 getAttribute 该方法用来获取元素的属性,调用方式如下所示: 复制代码代码如下: object.getAttribute(attribute) 以此前介绍的一些方法不同,getAttribute方法不属于document对象,所以不能通过document对象调用.它只能通过元素节点对象来调用. 该方法只接受一个参数,你指定要查询的属性的

js公有、私有、静态属性和方法的区别

现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人 对于原生javascript缺乏深入的理解,习惯了函数式的编辑风格,对于闭包.原型总是说不清道不明.对于js面向对象蹩脚的用着,而要了解js面向 对象,就必需先了解js中什么是公有方法.特权方法.静态方法 公有属性和公有方法 function User(name,age){ this.name = name;//公有属性 this.age = age;

对象不支持ajax属性或方法

今天在做泛微流程开发的时候,遇到一件很奇怪的事情,流程流转到第二个节点,居然报错了,提示”对象不支持ajax属性和方法“,但是第一个节点测试并未报错了, /(ㄒoㄒ)/~~,然后试着把jQuery的简写“$"改成”JQuery“后,不在提示”对象不支持ajax属性和方法“错误,而是变成了“automation服务器不能创建对象”问题,看下了错误的代码 行”var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLH