转自:http://blog.sina.com.cn/s/blog_8764c3140100wtoc.html 1. @property(nonatomic) BOOL bounces //当滚动到内容边缘是否发生反弹,default is YES. 如果一开始拖动方向是水平或者垂直,且该属性设置为YES,那么另外一个方向将会被锁定,不能在那个方向拖动了。如果 开始拖动方向为斜的,那么不会禁止任何一个方向的拖动。 2. @property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle; //拖动图片时,下面或者右侧的那个滚动进度条 显示的风格,当然也可以把这个滚动条取消。可以用下面属性: @property(nonatomic) BOOL showsHorizontalScrollIndicator; //是否显示水平滚动条 @property(nonatomic) BOOL showsVerticalScrollIndicator; //是否显示垂直滚动条,default is YES 3. @property(nonatomic) float maximumZoomScale; //最大缩放倍数 @property(nonatomic) float minimumZoomScale; //最大缩小倍数 通常情况下,最小倍数比scrollView的frame要小,而最大缩放倍数可能与contentSize有关,需要自己算出 最大缩放倍数,如:如果想最大缩放倍数为5倍,那么contentSize也应该设置为5倍scrollView的frame大小。 假如想要双击scrollView里的图片放大,或者支持两只手指在屏幕捏放实现图片缩放,必须重写覆盖继承自 UIResponder的几个交互方法: ﹣(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; ﹣(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; ﹣(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; , getter=isPagingEnabled) BOOL pagingEnabled; //是否在拖动图片后,图片翻到 scrollView的下一个子视图开始边界. default is NO @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled; //是否可以滚动。default is YES, 如果设置为NO,那么将scrollView将不会接受任何触摸事件。 - (void)setZoomScale:(float)scale animated:(BOOL)animated; 转自:君哥哥爱漂移的空间 |
UIScrollView分页算法
在使用 UIScrollView 分页的时候我们如何确定当前是第几页?
首先需要开启分页设置
scrollView.pagingEnabled = YES;
然后我们在委托的类上实现以下方法
// 根据当前的x坐标和页宽度计算出当前页数
int currentPage = floor((sender.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
}
frame.origin.x 的意思和作用?
scrollView.frame
一个view的frame 包含它的矩形形状(size)的长和宽。
和它在父视图中的坐标原点(origin)x和y坐标
frame 框架
origin就是所謂的起點位置
frame在ios里并不是一个具体的对象,他只是一些控件的一个属性。
frame的值就是一个CGRect 包括(originX,originY,width,height)。
originX和originY对应着该对象在其superview中的坐标,也就是说他是一个相对坐标。
view 的frame是view在它的super view 的位置与尺寸。
UIView中bounds和frame的差别?
什么是绝对坐标值,相对坐标值?
绝对坐标是:X,Y 就是相对于坐标原点的。
bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小,
区别主要在坐标系这一块。
frame 是相对坐标。bounds是绝对坐标。
很明显,bounds的原点是(0,0)点,而frame的原点却是任意的。
frame 如果一个按钮,是在表格里,按钮的frame 的坐标也是相对的,并不是相对屏幕,也就是说是相对坐标,不是绝对坐标。
很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。
原文http://www.cocoachina.com/bbs/simple/?t38761_5.html