UIKit - scroll View缩放、滚动

UIScrollView滚动

三大属性:

self.scrollView.pageEnabled = NO  是否分页;n只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示

contentSize    设置的是要展示的内容的大小  size(如果小于scrollView的frame将无法滚动)

contentInset  是在contentSize的基础上额外增加的滚动区域

//self.scrollView.contentInset = UIEdgeInsetsMake(上,左, 下,右)

设置scrollView的frame  是scrollView的可视范围

contentOffset 是scrollView 滚动的位置(相对于整个内容(contentSize)的左上角为原点 )

// 设置最大和最小的缩放比例

self.scollView.maximumZoomScale = 2.0;
    self.scollView.minimumZoomScale = 0.2;

UIScrollViewDelegate  代理方法

//使用捏合手势的时候调用

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

//将要进行缩放的时候

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view

//结束缩放时调用

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
   - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{  *  只要一次拖拽没有结束,就不会再调用.一次拖拽,只会调用一次
    NSLog(@"---开始拖拽-----");
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{  *  只要是在滚动,就会一直调用整个方法
            NSLog(@"----正在滚动----");
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{ *  一次拖拽,只会调用一次
    NSLog(@"-----已经结束拖拽-----“);

n如果UIScrollView无法滚动,可能是以下原因:

Ø没有设置contentSize

ØscrollEnabled = NO

Ø没有接收到触摸事件:userInteractionEnabled = NO

Ø没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)

@property(nonatomic) BOOL bounces;
设置UIScrollView是否需要弹簧效果

@property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
设置UIScrollView是否能滚动

@property(nonatomic) BOOL showsHorizontalScrollIndicator;
是否显示水平滚动条

@property(nonatomic) BOOL showsVerticalScrollIndicator;
是否显示垂直滚动条

缩放实现步骤
1.设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象
2.设置minimumZoomScale :缩小的最小比例
3.设置maximumZoomScale :放大的最大比例
4.让代理对象实现下面的方法,返回需要缩放的视图控件

- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;

跟缩放相关的其他代理方法
缩放完毕的时候调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view 
正在缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView

时间: 2024-11-10 01:28:16

UIKit - scroll View缩放、滚动的相关文章

NGUI Scroll View

NGUI版本: 3.5.6b 1  新建立一个Scene场景 2  拖入一个Contorl-Backgound到Scene中,微调,作为背景使用 3  鼠标在场景中右键点击Create-->Scroll View (调整的时候,注意不要调整的是UIPanel) 4  创建一个Sprite,或者快捷键Alt+Shift+S 并且将这个Sprite拖放到Scroll View 下(在Hierarchy中),Depth为0 拖动Sprite的时候,Sprite会被Scroll View的边缘剪辑一部分

Android View的滚动scroll

在View中: public void computeScroll() { //空实现 } public void scrollTo(int x,int y) {//view的(left,top)滚动到一个点(x,y) if (mScrollX != x ||mScrollY != y) { int oldX = mScrollX; int oldY = mScrollY; mScrollX = x; mScrollY = y; invalidateParentCaches(); onScrol

Scroll View 深入

转载自:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UIView一些属性的表面而已.因此,要想弄懂UIScrollView是怎么工作之前,你需要了解 UIView,特别是视图渲染过程的两步. 光栅化和组合 渲染过程的第一部分是众所周知的光栅化,光栅化简单的说就是产生一组绘图指令并且生成一张图片.比如绘制一个圆角矩形.带图片.标题居中的

全面理解iOS开发中的Scroll View

转自:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UIView一些属性的表面而已.因此,要想弄懂UIScrollView是怎么工作之前,你需要了解 UIView,特别是视图渲染过程的两步. 光栅化和组合 渲染过程的第一部分是众所周知的光栅化,光栅化简单的说就是产生一组绘图指令并且生成一张图片.比如绘制一个圆角矩形.带图片.标题居中的U

Scroll view 备忘

Stroyboard中使用ScrollView 当我们使用Storyboard开发项目时,如果要往控制器上拖入一个ScrollView并且添加约束设置滚动区域,是有特殊的规定的: 拖入一个scrollview,规定它的位置大小: 如果想要scrollview滚动的话,需要一个view作为scrollview的子视图,称之为 containerView,并且containerView的约束决定着scroll view 是否可以滚动 注意:在实际开发中,我们可能会遇到不止上下滚动(设置水平居中和高度

全面理解iOS开发中的Scroll View[转]

from:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UIView一些属性的表面而已.因此,要想弄懂UIScrollView是怎么工作之前,你需要了解 UIView,特别是视图渲染过程的两步. AD: 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UI

Understanding Scroll Views 深入理解 scroll view 读书笔记

Understanding Scroll Views 深入理解 scroll view ?读书笔记 ? It may be hard to believe, but a?UIScrollView?isn't much different than a standard?UIView. Sure, the scroll view has a few more methods, but those methods are really just facades of existing UIView

Unity NGUI制作scroll view

unity版本:4.5 NGUI版本:3.6.5 参考链接:http://blog.csdn.net/monzart7an/article/details/23878505,作者:CSDN 冬菊子   http://blog.csdn.net/unity3d_xyz/article/details/22989401,作者:CSDN inspironx 1.创建背景: 这部分比较简单,先创建一个用来展示scroll view的panel,在panel下创建一个空对象,空对象下面创建一个表示背景的s

ngui3.5.7 版本Scroll View实现方法

现在网上的教材都是老版本的,现在的版本并没有Drag Panel Contents脚本,所以我对着现在的DEMO琢磨出了实现方法 第一,创建NGUI ui,其他组件不必创建,我只要NGUI这个摄影机,将这个NGUI设置为2D层,下面子组件都属于2D层 创建Scroll View,之后在下面创建Grid把他里面的脚本去掉,添加UICenterOnChild这个脚本,之后在Grid下面创建你要用的组件,在这些组件上添加UIDrag Scroll View和UICenter On Click 还有Bo