UIScrollView属性详解

转载 2015年11月18日 12:46:58
UIScrollView属性详解
 iOS学习总结

@property(nonatomic)  CGPoint contentOffset; 

// default CGPointZero

内容的偏移位置。默认为(0,0),左上角原点。

@property(nonatomic)  CGSize  contentSize;                    

// default CGSizeZero

滚动范围的大小

@property(nonatomic)  UIEdgeInsets contentInset;                   

// default UIEdgeInsetsZero. add additional scroll area around content

内容视图在scrollview中的位置,UIEdgeInsets描述一个矩形区域。

@property(nonatomic,assignid<UIScrollViewDelegate>   delegate;

// default nil. weak reference

委托

@property(nonatomic,getter=isDirectionalLockEnabled) BOOL directionalLockEnabled;         

// default NO. if YES, try to lock vertical or horizontal scrolling while dragging

指定控件是否只能在一个方向上滚动

@property(nonatomic)    BOOL  bounces;                        

// default YES. if YES, bounces past edge of content and back again

内容遇到边框是否反弹

@property(nonatomic)    BOOL  alwaysBounceVertical;           

// default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically

垂直方向遇到边框是否反弹

@property(nonatomic)    BOOL alwaysBounceHorizontal;         

// default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally

水平方向遇到边框是否反弹

@property(nonatomic,getter=isPagingEnabled) BOOL pagingEnabled;                  

// default NO. if YES, stop on multiples of view bounds

是否分页

@property(nonatomic,getter=isScrollEnabled) BOOL  scrollEnabled;                  

// default YES. turn off any dragging temporarily

是否允许滚动

@property(nonatomic)     BOOL showsHorizontalScrollIndicator; 

// default YES. show indicator while we are tracking. fades out after tracking

是否显示水平方向滚动条

@property(nonatomic)     BOOL showsVerticalScrollIndicator;   

// default YES. show indicator while we are tracking. fades out after tracking

是否显示垂直方向滚动条

@property(nonatomic)   UIEdgeInsets   scrollIndicatorInsets;          

// default is UIEdgeInsetsZero. adjust indicators inside of insets

滚动条在滚动视图中的位置

@property(nonatomic)   UIScrollViewIndicatorStyle   indicatorStyle;                 

// default is UIScrollViewIndicatorStyleDefault

滚动条样式

@property(nonatomic)   float  decelerationRate NS_AVAILABLE_IOS(3_0);

滑动速率



@property(nonatomic,readonly,getter=isTracking)     BOOL tracking;        

// returns YES if user has touched. may not yet have started dragging

用户已经触屏,但还拖动,返回YES。

@property(nonatomic,readonly,getter=isDragging)     BOOL dragging;        

// returns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging

拖动中,返回YES。

@property(nonatomic,readonly,getter=isDecelerating) BOOL decelerating;   

// returns YES if user isn't dragging (touch up) but scroll view is still moving

滑动中,返回YES

@property(nonatomicBOOL delaysContentTouches;       

// default is YES. if NO, we immediately call -touchesShouldBegin:withEvent:inContentView:

是否延迟调用touchesShouldBegin:withEvent:inContentView

@property(nonatomicBOOL canCancelContentTouches;    

// default is YES. if NO, then once we start tracking, we don't try to drag if the touch moves

如果为NO,我们保持触屏状态,移动手指,将不能拖动。

@property(nonatomicfloat minimumZoomScale;     

// default is 1.0

最小缩放比例

@property(nonatomicfloat maximumZoomScale;     

// default is 1.0. must be > minimum zoom scale to enable zooming

最大缩放比例

@property(nonatomicfloat zoomScale NS_AVAILABLE_IOS(3_0);            

// default is 1.0

缩放比例

@property(nonatomicBOOL  bouncesZoom;          

// default is YES. if set, user can go past min/max zoom while gesturing and the zoom will animate to the min/max value at gesture end

缩放时候是否遇边界反弹

@property(nonatomic,readonly,getter=isZooming)       BOOL zooming;       

// returns YES if user in zoom gesture

正在缩放

@property(nonatomic,readonly,getter=isZoomBouncing)  BOOL zoomBouncing;  

// returns YES if we are in the middle of zooming back to the min/max value

正在缩放反弹




// When the user taps the status bar, the scroll view beneath the touch which is closest to the status bar will be scrolled to top, but only if its `scrollsToTop` property is YES, its delegate does not return NO from `shouldScrollViewScrollToTop`, and it is not already at the top.

// On iPhone, we execute this gesture only if there's one on-screen scroll view with `scrollsToTop` == YES. If more than one is found, none will be scrolled.

@property(nonatomicBOOL  scrollsToTop;          // default is YES.

// Use these accessors to configure the scroll view's built-in gesture recognizers.

// Do not change the gestures' delegates or override the getters for these properties.

@property(nonatomicreadonlyUIPanGestureRecognizer *panGestureRecognizer NS_AVAILABLE_IOS(5_0);

按下的手势

// `pinchGestureRecognizer` will return nil when zooming is disabled.

@property(nonatomicreadonlyUIPinchGestureRecognizer *pinchGestureRecognizer NS_AVAILABLE_IOS(5_0);

捏合手势



这里把UIScrollView的几个要点总结下:

从你的手指touch屏幕开始,scrollView开始一个timer,如果:

1.  150ms内如果你的手指没有任何动作,消息就会传给subView。

2.  150ms内手指有明显的滑动(一个swipe动作),scrollView就会滚动,消息不会传给subView,这里就是产生问题二的原因。

3. 150ms内手指没有滑动,scrollView将消息传给subView,但是之后手指开始滑动,scrollView传送touchesCancelled消息给subView,然后开始滚动。

观察下tableView的情况,你先按住一个cell,cell开始高亮,手不要放开,开始滑动,tableView开始滚动,高亮取消。

 

delaysContentTouches的作用:

这个标志默认是YES,使用上面的150ms的timer,如果设置为NO,touch事件立即传递给subView,不会有150ms的等待。

 

cancelsTouches的作用:

这个标准默认为YES,如果设置为NO,这消息一旦传递给subView,这scroll事件不会再发生。


Java并发之线程池(一)

1.线程池的继承关系图2.线程池架构图 3.部分结构和类的分析 3.1Executor 从上图可以看出Executor线程池的根接口,代码如下:public interface...
  • zxdfc
  • zxdfc
  • 2016年12月21日 22:46
  • 213

mysql启动失败的解决招术

前面博文已经提到,因为不小心,不得不重新安装xampp,昨晚试的时候,mysql还是好好的,今天早上居然发现启动不了了。当然先是在xmapp中启动,启动不了。然后转到控制面板->管理工具 ->服务中找...
  • HorseRunningNoStop
  • HorseRunningNoStop
  • 2016年05月29日 11:13
  • 2159

CentOS6.7成功安装sbt

安装环境 CentOS6.7 1 - yum安装sbt sbt二进制文件发布到bintray,而Bintray方便地提供了RPM资源库。我们只需要将存储库添加到全举报管理器将检查的地方。 [roo...
  • wawa8899
  • wawa8899
  • 2017年07月03日 22:14
  • 353

第10课:Spark Streaming源码解读之流数据不断接收全生命周期彻底研究和思考

1。数据接收架构设计模式 2。数据接收源码彻底研究sparkstreaming接收数据的特征: 第一个特征:不断地持续地接收数据; 第二个特征:一般receiver和driver不再同一个进程中...
  • MichaelLi916
  • MichaelLi916
  • 2016年05月26日 15:59
  • 8267

POJ1390 Blocks 【动态规划】

Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4173   Accepte...
  • u012846486
  • u012846486
  • 2014年07月25日 08:52
  • 1057

源代码编译+模块化编译

为了避免混乱,下载的源代码以版本号为包名称。如3175 下面再存放system源代码。 而且相应的应用程序要注意对应的版本,可能导致编译不通过。 源代码编译 svn checkout 地...
  • birdfly12345
  • birdfly12345
  • 2013年03月22日 13:53
  • 1719

any,some,all的用法和区别

用some,any和all对子查询中返回的多行结果进行处理。下面我们来简单介一下这几个关键词的含义。 Some在此表示满足其中一个的意义,是用or串起来的比较从句。 Any也表示满足其中一...
  • tchic
  • tchic
  • 2016年09月11日 20:08
  • 270

Linux安装R语言

首先服务器系统版本为centos5.6,R版本为2.13.2。下面是安装步骤: 首先上传文件:rz -e 1、解压文件:tar –zvxf R-2.13.2.tar.gz 2、进入R源文件目录:...
  • zhang434
  • zhang434
  • 2013年11月07日 11:35
  • 3874

MySQL中子查询IN,EXISTS,ANY,ALL,SOME,UNION介绍

转自:http://www.cnblogs.com/blueoverflow/archive/2015/08/08/4712320.html 阅读目录(Content) 1.ANY关键字2.ALL关...
  • Mary19920410
  • Mary19920410
  • 2017年08月01日 22:10
  • 606

探讨linux进程的三种时间(real time, system cpu time, user cpu time)的实现

APUE中关于
  • youjun9007228198
  • youjun9007228198
  • 2014年05月17日 21:18
  • 4584
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIScrollView属性详解
举报原因:
原因补充:

(最多只允许输入30个字)