ScrollView分析

简介: <p style="margin:10px auto; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(70,70,70); font-family:simsun; font-s

alwaysBounceHorizontal          //一个布尔值,决定是否弹跳总是出现水平滚动时达到结束内容的看法。默认值是NO 。

@property(nonatomic) BOOL alwaysBounceHorizontal       //如果这个属性被设置为YES而且bounces的值是YES,水平拖动是允许的内容,即使小于滚动视图的边界。默认值是NO 

alwaysBounceVertical            //一个布尔值,决定是否反弹总是发生在垂直滚动到达结束内容。默认值是NO 。 

@property(nonatomic) BOOL alwaysBounceVertical  // //如果这个属性被设置为YES而且bounces的值是YES,垂直拖动是允许的内容,即使小于滚动视图的边界。默认值是NO

bounces                                 //控制滚动视图是否反弹过去内容的边缘,然后再返回一个布尔值。

@property(nonatomic) BOOL bounces           //默认值是YES 。 

bouncesZoom                      //一个布尔值,决定当缩放超过上限或下限时是否滚动视图推动内容缩放。

@property(nonatomic) BOOL bouncesZoom            //如果这个属性的值是YES并且变焦缩放超过上限或下限,返回他们之前滚动视图暂时缩放内容。如果这属性是NO,立即停止在一个比例限制缩放。默认是YES。 

canCancelContentTouches   //一个布尔值,控制是否涉及到的内容视图中总是导致跟踪。

@property(nonatomic) BOOL canCancelContentTouches

contentInset        //内容视图的距离,是从封闭的滚动视图插图。

@property(nonatomic) UIEdgeInsets contentInset   //使用这个属性添加到周围滚动区域的内容。大小的单位是点。默认值是UIEdgeInsetsZero 。

contentOffset      //在哪个点的内容视图的起源是从滚动视图的原点偏移

@property(nonatomic) CGPoint contentOffset       //默认值为CGPointZero 

contentSize       //内容视图的大小。

@property(nonatomic) CGSize contentSize            //大小的单位是点。默认大小CGSizeZero的。

decelerating   //返回的内容是否在滚动视图后,用户解除他们的手指。 (只读)

@property(nonatomic, readonly, getter=isDecelerating) BOOL decelerating  //如果用户不拖动内容但滚动事件仍发生 ,返回的值是YES。

decelerationRate    //一个浮点值,确定在用户解除他们的手指后的减速率。

@property(nonatomic) float decelerationRate    //使用的UIScrollViewDecelerationRateNormal和UIScrollViewDecelerationRateFas常数作为合理减速率的参考点。

delaysContentTouches     //一个布尔值,决定是否推迟滚动视图触摸手势的处理。

@property(nonatomic) BOOL delaysContentTouches   //如果这个属性的值是YES ,滚动视图延误处理的触摸式的姿态,直到它可以决定

是否滚动是意图。如果该值是NO,滚动视图立即调用touchesShouldBegin : withEvent:inContentView :默认值是YES 。

delegate         //滚动视图对象的代表。

@property(nonatomic, assign) id delegate   //该委托必须采取UIScrollViewDelegate的协议。 UIScrollView的类调用委托实现每个协议的方法,它不保留委托。

directionalLockEnabled       //一个布尔值,决定是否在某一特定方向禁用滚动

@property(nonatomic, getter=isDirectionalLockEnabled) BOOL directionalLockEnabled  //如果此属性是NO,则滚动允许在水平和垂直方向。若是YES,则只在使用者最开始滚动的方向上进行(水平或垂直),若开始滚动是沿对角线方向的则可任意方向滚动。默认值是NO。

dragging       //一个布尔值,指示用户是否已经开始滚动内容。 (只读)

@property(nonatomic, readonly, getter=isDragging) BOOL dragging   /在它被设置为YES之前,这个属性的值可能需要一些时间或滚动的距离

indicatorStyle     //滚动指标的风格。

@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle  //默认的风格UIScrollViewIndicatorStyleDefault 。详见 “Scroll Indicator Style”


说明这些常数

maximumZoomScale    //一个浮点值指定可用于滚动视图的内容的最大规模的因素。

@property(nonatomic) float maximumZoomScale //此值确定多大的内容可以扩展。它必须大于最小缩放比例缩放才能启用。默认值是1.0 。

Discussion

minimumZoomScale       浮点值,指定可应用于滚动视图的内容的最低比例因子

@property(nonatomic) float minimumZoomScale   //此值决定如何可以缩放小内容。默认值是1.0

pagingEnabled   //一个布尔值,决定是否启用分页滚动视图。

@property(nonatomic, getter=isPagingEnabled) BOOL pagingEnabled //如果这个属性的值是YES,当用户滚动时,滚动视图停止滚动视图的边界的倍数。默认值是NO 。

panGestureRecognizer     //泛手势的基本手势识别。 (只读)

@property(nonatomic, readonly) UIPanGestureRecognizer *panGestureRecognizer //你的应用程序访问此属性,当它希望能够通过滚动视图更精确地控制泛手势确认。

pinchGestureRecognizer        //捏的基本的手势识别。 (只读)

@property(nonatomic, readonly) UIPinchGestureRecognizer *pinchGestureRecognizer //你的应用程序访问此属性时,它希望能够通过滚动视图更精确地控制捏手势确认。

scrollEnabled         //一个布尔值,决定是否启用滚动。

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled    //如果这个属性的值是YES ,滚动启用,如果它是NO,滚动被禁用。默认值是YES。  被禁用滚动时,滚动视图不接受触摸事件,将其转发响应链。

scrollIndicatorInsets      //滚动指标点到滚动视图的边缘的距离。

@property(nonatomic) UIEdgeInsets scrollIndicatorInsets    //默认值为UIEdgeInsetsZero

scrollsToTop     //一个布尔值,控制是否滚动到顶部的姿态是有效的

@property(nonatomic) BOOL scrollsToTop    //当设为YES,发生这种姿态时滚动视图跳转到内容顶端,此属性的默认值是YES 。

showsHorizontalScrollIndicator       //一个布尔值,控制水平滚动指标是否是可见的。

@property(nonatomic) BOOL showsHorizontalScrollIndicator //默认值是YES 。指标是可见的,而跟踪正在进行,结束后淡出。

showsVerticalScrollIndicator          //一个布尔值,控制垂直滚动指标是否是可见的。

@property(nonatomic) BOOL showsVerticalScrollIndicator   ////默认值是YES 。指标是可见的,而跟踪正在进行,结束后淡出。

tracking     //返回判断是否用户触碰内容触发滚动 (只读)

@property(nonatomic, readonly, getter=isTracking) BOOL tracking   //如果用户已经触及的内容视图但可能还没有开始拖动它。这个属性的值便是YES

zoomBouncing      // 一个布尔值,指示缩放已超过指定的接收范围。 (只读)

@property(nonatomic, readonly, getter=isZoomBouncing) BOOL zoomBouncing //这个属性的值是YES如果滚动视图缩放回最小或最大变焦缩放值;否则值为NO 。 

zooming     //一个布尔值,指示内容是否认为正在放大或缩小。 (只读)

@property(nonatomic, readonly, getter=isZooming) BOOL zooming   //如果用户缩放手势,否则它是没有这个属性的值是YES 

zoomScale   //一个浮点值,指定目前用于滚动视图的内容的比例因子。

@property(nonatomic) float zoomScale          //此值确定多少内容目前正在缩放。默认值是1.0 

Instance Methods

flashScrollIndicators      //暂时显示滚动指标。

- (void)flashScrollIndicators   //当你把滚动视图移动到前面,你应该调用此方法。 

scrollRectToVisible:animated:  //滚动一个特定区域的内容以便它在接收是可见的

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated      //此方法滚动查看内容,以便由rect定义的区域仅仅是滚动视图内是可见的。如果该地区已是可见的,该方法什么都不做。

参数:

rect                 //定义一个矩形面积的内容视图。

animated        //YES if the scrolling should be animated, NO if it should be immediate. 

setContentOffset:animated:      设置从内容视图的原点偏移对应接收机的起源

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

参数:

contentOffset    //从内容视图的原点偏移的一个点

animated           YES表示以一个恒定的速度过渡到新的偏移,NO表示立即到达

setZoomScale:animated:    //一个浮点数指定当前的缩放比例

- (void)setZoomScale:(float)scale animated:(BOOL)animated  //新的值应该在是minimumZoomScale和maximumZoomScale之间

参数:

scale         //缩放内容的新的值。

animated    //YES推动过渡到新的规模, NO 以使立即过渡。

touchesShouldBegin:withEvent:inContentView:    //自定义默认行为,当手指触摸在显示的内容由子类重写。

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view  //UIScrollView的默认行为是调用触摸事件发生的UIResponder的事件处理方法的目标子视图  

参数:

touches     //一个涉及的UITouch实例集代表表示事件的开始阶段

event        //代表在触摸触摸对象属于事件的对象。

view          //在内容中发生触摸手势子视图。 

Return Value     //返回NO ,如果你不想滚动视图发送的事件消息查看。如果你想以接收这些消息,返回YES (默认) 。 

touchesShouldCancelInContentView:     //返回是否取消有关的内容子视图的接触,并开始拖动。

- (BOOL)touchesShouldCancelInContentView:(UIView *)view  //它开始发送跟踪邮件的内容视图后动视图调用此方法。如果它从这种方法收到NO便停止拖动和转发触摸事件的内容子视图。滚动视图不调用此方法如果canCancelContentTouches 属性值是NO

参数:

view        在内容中被触发的视图对象

Return Value    //YES取消进一步触控消息查看,NO查看继续收到这些消息。如果视图认为是不是一个UIControl对象默认YES,否则返回NO

zoomToRect:animated:    //缩小到特定区域的内容,所以它是在接收器中可见。 

- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated   //这种方法调整的zoomScale进行必要的缩放以便使内容视图成为由矩形定义的区域

rect          //矩形定义内容视图区

animated          //YES if the scrolling should be animated, NO if it should be immediate. 

Constants 

Scroll Indicator Style

typedef enum {  //指示器风格设置

UIScrollViewIndicatorStyleDefault,      //默认,

UIScrollViewIndicatorStyleBlack,         //适用于白色内容背景

UIScrollViewIndicatorStyleWhite   

} UIScrollViewIndicatorStyle;   

Deceleration Constants   //减速常数

The rate of deceleration for a scrolling view.   

{

const float UIScrollViewDecelerationRateNormal;    //默认减速率

const float UIScrollViewDecelerationRateFast;      

}

目录
相关文章
|
Android开发
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView和HorizontalScrollView无法设置点击事件的源码解析
最近的开发过程中,发现存在ScrollView和HorizontalScrollView无法设置点击事件的现象。 我们知道,通常在设置点击事件时,位于View树上方的子View的OnClickListener,会优先于父View的OnClickListener执行。 开发过程中我们会经常使用类似的方式来给布局设置点击事件,比如给ListView的Item背景设置OnClickListener,用于点击item空白区域的跳转操作;然后再给item内部的子元素分别设置OnClickListener用于各自不同的点击操作。
scrollview的原理及一些属性(转)
在滚动过程当中,其实是在修改原点坐标 当手指触摸后, scroll view会暂时拦截触摸事件,使用一个 计时器,假如在计时器到点后,没有发生手指移动事件, 那么,scroll view发送tracking events到被点击的subview 假如在...
1146 0
|
Android开发
解决ScrollView嵌套RecyclerView滑动卡顿问题
目前 RecyclerView 的使用已经比较普遍了,当需要嵌套使用 RecyclerView 和 ScrollView 时候滑动卡顿的问题,也遇到的越来越多,特此记录下。
2398 0
|
监控 前端开发 iOS开发