`
miss大为
  • 浏览: 82704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UIScrollView的属性总结

阅读更多
在滚动过程当中,其实是在修改原点坐标

当手指触摸后, scroll view会暂时拦截触摸事件,使用一个
计时器,假如在计时器到点后,没有发生手指移动事件,
那么,scroll view发送tracking events到被点击的subview
假如在计时器到点前,发生了移动事件,那么 scroll view 取消tracking
自己发生滚动

子类可以重载touchesShouldBegin:withEvent:inContentView: 决定自己是否接收touch事件
pagingEnabled当值是YES,会自动滚动到subview的边界,默认是NO
touchesShouldCancelInContentView: 开始发送tracking messages消息给subview的时候
调用这个方法,决定是否发送tracking messages消息到subview,假如返回NO,发送,YES则不发送
假如 canCancelContentTouches属性是NO,则不调用这个方法
来影响如何处理滚动手势

scroll view还处理缩放和平移手势
要实现缩放和平移,必须实现委托viewForZoomingInScrollView:
scrollViewDidEndZooming:withView:atScale:
两个方法,另外 maximumZoomScale和minimumZoomScale两个属性要不一样

几个属性
tracking
当touch后还没有拖动的时候,值是YES,否则NO


zoomBouncing
当内容放大到最大或者最小的时候,值是YES,否则NO


zooming
当正在缩放的时候,值是YES,否则NO

decelerating

当滚动后,手指放开,但是还在继续滚动中,这个时候是 YES,其他是NO

decelerationRate

设置手指放开后的减速率


maximumZoomScale
一个浮点数,表示能放最大的倍数


minimumZoomScale
一个浮点数,表示能缩最小的倍数


pagingEnabled
当值是YES,会自动滚动到subview的边界,默认是NO


scrollEnabled
决定是否可以滚动

delaysContentTouches

是个布尔值,当值是YES的时候,用户触碰开始,scroll view要延迟一会,看看是否用户有意图滚动,假如滚动了,那么捕捉touch-down事件,否则就不捕捉, 假如值是NO,当用户触碰, scroll view会立即触发touchesShouldBegin:withEvent:inContentView:, 默认是YES

canCancelContentTouches
当值是YES的时候,用户触碰后,然后在一定时间内没有移动,scrollView发送tracking events,然后用户移动手指足够长度触发滚动事件,这个时候,scrollView发送了touchesCancelled:withEvent: 到subview,然后scroView开始滚动
假如值是NO,scrollView发送tracking events后,就算用户移动手指,scrollView也不会滚动

contentSize
里面内容的大小,也就是可以滚动的大小,默认是0,没有滚动效果。

showsHorizontalScrollIndicator
滚动时,是否显示水平滚动条

showsVerticalScrollIndicator
滚动时,是否显示垂直滚动条

bounces
默认是yes,就是滚动超过边界,会反弹有反弹回来的效果,假如是 NO,那么滚动到达边界,那么会连忙停止

bouncesZoom
和bounces类似,区别在于,这个效果反映在缩放上面,假如缩放超过最大缩放,那么会反弹效果,假如是NO,则到达最大或者最小的时候,立即停止

directionalLockEnabled
默认是NO, 可以在垂直和水平方向同时运动, 当值是YES, 假如一开始是垂直或者是水平运动,那么接下来会锁定另外一个方向的滚动, 假如一开始是对角方向滚动,则不会禁止某个方向

indicatorStyle
滚动条的样式,基本只是设置颜色,总共3个颜色,默认,黑色的,白色的

scrollIndicatorInsets
设置滚动条的位置







属性                     作用
CGPoint contentOffSet  监控目前滚动的位置
CGSize contentSize     滚动范围的大小
UIEdgeInsets contentInset    视图在scrollView中的位置
id<UIScrollerViewDelegate> delegate  设置协议
BOOL directionalLockEnabled 指定控件是否只能在一个方向上滚动
BOOL bounces         控制控件遇到边框是否反弹
BOOL alwaysBounceVertical   控制垂直方向遇到边框是否反弹
BOOL alwaysBounceHorizontal 控制水平方向遇到边框是否反弹
BOOL pagingEnabled 控制控件是否整页翻动
BOOL scrollEnabled 控制控件是否能滚动
BOOL showsHorizontalScrollIndicator 控制是否显示水平方向的滚动条
BOOL showsVerticalScrollIndicator 控制是否显示垂直方向的滚动条
UIEdgeInsets scrollIndicatorInsets 指定滚动条在scrollerView中的位置
UIScrollViewIndicatorStyle indicatorStyle 设定滚动条的样式
float decelerationRate 改变scrollerView的减速点位置
BOOL tracking 监控当前目标是否正在被跟踪
BOOL dragging 监控当前目标是否正在被拖拽
BOOL decelerating 监控当前目标是否正在减速
BOOL delaysContentTouches 控制视图是否延时调用开始滚动的方法
BOOL canCancelContentTouches 控制控件是否接触取消touch的事件
float minimumZoomScale 缩小的最小比例
float maximumZoomScale 放大的最大比例
float zoomScale 设置变化比例
BOOL bouncesZoom 控制缩放的时候是否会反弹
BOOL zooming 判断控件的大小是否正在改变
BOOL zoomBouncing 判断是否正在进行缩放反弹
BOOL scrollsToTop 控制控件滚动到顶部
分享到:
评论

相关推荐

    iOS:UIScrollView实现轮播

    总结起来,使用UIScrollView实现轮播效果主要涉及以下几个步骤: 1. 创建UIImageView数组,加载图片。 2. 设置UIScrollView的contentSize和pagingEnabled属性。 3. 使用NSTimer实现自动轮播。 4. 添加边界处理,实现...

    UIScrollView自动轮播图

    总结来说,实现`UIScrollView`自动轮播图的关键步骤包括:设置`contentSize`、创建定时器、管理轮播索引以及添加和布局图片。这个过程涉及到iOS编程中的视图布局、定时器操作和滚动视图交互等多个知识点,对于iOS...

    UIScrollView 原理

    UIScrollView通过调整其contentSize属性来控制可见区域之外的内容。当contentSize超过scrollView的实际尺寸时,滚动功能就会被激活。 #### 二、UIScrollView的关键属性和方法 ##### 1. 关键属性 - **contentSize*...

    UIScrollView/UITableView布局的影响因素总结

    在iOS开发中,`UIScrollView`和`UITableView`是两种非常重要的视图组件,它们用于展示大量数据并允许用户滚动查看。这两个组件的布局设计对于用户体验至关重要。本篇文章将深入探讨`UIScrollView`和`UITableView`...

    用UIScrollView做循环的广告牌

    总结起来,实现“用UIScrollView做循环的广告牌”主要涉及以下步骤: 1. 设置UIScrollView的contentSize和pagingEnabled属性。 2. 创建UIImageView子视图,加载广告图片,并添加到ScrollView中。 3. 使用NSTimer实现...

    iOS-UI控件常见属性总结

    以上就是iOS UI控件中一些常见的属性总结,理解和熟练运用这些属性将有助于开发者创建出更加丰富多样的用户界面。在实际开发中,还可以结合其他属性和方法,实现更复杂的功能。例如,可以使用AutoLayout调整控件的...

    uiscrollview循环滚动

    `UIScrollView`有三个关键属性:`contentSize`定义了内容视图的大小,`contentOffset`表示内容视图相对于`UIScrollView`的偏移量,而`scrollIndicatorInsets`则控制滚动指示器的边距。 要实现循环滚动,我们通常...

    iOS开发中使用UIScrollView实现图片轮播和点击

    总结来说,通过使用UIScrollView、UIImageView、TapGestureRecognizer和UIPageControl,我们可以创建一个功能完善的图片轮播器,并支持点击事件。同时,通过合理的优化策略,如懒加载和异步加载,可以提高应用的性能...

    iOS开发中使用UIScrollView实现无限循环的图片

    为了实现滚动,我们需要设置UIScrollView的contentSize属性,它的宽度和高度应等于所有可滚动内容的总尺寸。 接下来,我们创建一个图片数组,存储要显示的所有图片URL或者本地图片资源。然后,我们需要创建...

    ios-UIScrollView可上下滚动的的侧边栏.zip

    总结起来,这个项目涉及到iOS开发中的`UIScrollView`使用、界面适配、动画效果实现以及自定义控件的设计。通过理解和应用这些知识点,开发者可以创建出具有高级交互特性的侧边栏视图,提升用户体验。在实际开发中,...

    UIScrollView滚动视图

    总结来说,这个项目展示了如何利用`UIScrollView`结合`UIImageView`创建一个自动滚动并支持手势滑动的图片展示组件。通过设置`contentSize`、添加子视图、设置定时器和手势识别,我们可以实现丰富的滚动视图效果。在...

    iOS应用开发中UIScrollView滚动视图的基本用法总结

    在iOS应用开发中,UIScrollView是实现滚动视图的关键组件,常用于展示内容超过屏幕范围的情况。它允许用户通过拖动来查看超出可视区域的内容。在本文中,我们将深入探讨UIScrollView的基本用法,以及如何解决在...

    多频看(2) uiscrollview重用cell 例子

    总结来说,本项目旨在教授开发者如何在UIScrollView中实现类似于UITableView的Cell重用机制,从而提高性能,降低内存占用。这一技术对于处理大量数据的滚动视图尤其有用,它不仅适用于常规的图片或文字展示,还可以...

    iOS开发中使用UIScrollView实现无限循环的图片浏览器

    总结来说,iOS开发中使用UIScrollView实现无限循环的图片浏览器需要理解ScrollView的工作机制,设置正确的contentSize和pagingEnabled属性,利用UIImageView和autoresizingMask来处理图片显示和布局,以及监听和响应...

    UIScrollViewDemo

    总结来说,"UIScrollViewDemo"是一个实用的iOS开发示例,它展示了如何使用UIScrollView来处理滚动和缩放,以及如何通过实现UIScrollViewDelegate来监听和响应用户的行为。这个项目对于任何想要深入了解iOS滚动视图...

    ios scrollview使用总结

    以上就是关于`UIScrollView`的基本使用、图片缩放及图片轮播的总结。更多细节和实践案例,你可以参考给出的博客链接:[博客地址](https://blog.csdn.net/dreams_deng/article/details/106691707)。在这个项目`...

    Swift实现可自定义分页宽度的UIScrollView

    总结来说,实现Swift中的可自定义分页宽度的UIScrollView主要涉及自定义contentSize、禁止裁剪边界、处理contentOffset、响应边缘触摸以及实现无限和自动轮播等功能。通过这些技术手段,我们可以创建出更加灵活、...

    iOS 使用ScrollerView 实现装扮功能(基础)博客配套Demo

    总结来说,实现iOS中的装扮功能涉及Swift编程、UIScrollView的使用和事件监听。通过理解这些知识点,开发者可以创建出一个交互性强、用户体验良好的装扮应用。在实际项目中,可能还需要考虑手势冲突、性能优化和动画...

    移动开发学习

    根据提供的信息,我们可以总结出以下关于移动开发中 UIScrollView 和 UIToolBar 的相关知识点: ### 一、UIScrollView 虽然提供的内容中没有直接提到 UIScrollView 的具体用法,但是作为移动开发中的一个重要组件...

    类似QQ空间看图--大小图片放大缩小居中无偏移例子

    总结来说,实现“类似QQ空间看图--大小图片放大缩小居中无偏移例子”的功能,主要依赖于`UIScrollView`的使用和适当的代理方法回调。通过合理配置`contentSize`、`zoomScale`等属性,以及在`scrollViewDidZoom`方法...

Global site tag (gtag.js) - Google Analytics