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(@"-----已经结束拖拽-----“);
}
 
  如果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

UIKit - scrollView缩放、滚动的更多相关文章

  1. 封装scrollView 循环滚动,tableViewCell(连载) mvc

    封装 封装 封装 ... 封装的重要性太重要了 给大家在送点干货 从一个项目中抽取出来的.和大家一起分享 封装scrollView 循环滚动.tableViewCell(连载) 明天还会更新 tabl ...

  2. 触摸点为scrollview上的子控件时,scrollview不能滚动(iOS8)

    现象:在iOS8上,scrollview上面布局了多行多列的button,滑动scrollview,如果当触摸点是在按钮上,scrollview不能滚动. 例如: 解决方法:设置scrollview的 ...

  3. 解决scrollview不滚动

    scrollView不滚动的时候 试试这个,有时候药到病除:

  4. 监视scrollview是否滚动到底

    //监视scrollview是否滚动到底 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ [refreshHeaderViewegoRe ...

  5. ScrollView垂直滚动控件

    ScrollView垂直滚动控件 一.简介 二.方法 1)ScrollView垂直滚动控件使用方法 1.在layout布局文件的最外层建立一个ScrollView控件 2.在ScrollView控件中 ...

  6. 完美解决EditText和ScrollView的滚动冲突(上)

    在网上搜了一下EditText和ScrollView的滚动冲突,发现差点儿全部的解决方式都是触摸EditText的时候就将事件交由EditText处理,否则才将事件交由ScrollView处理.这样确 ...

  7. 屏蔽scrollview的滚动

    外层有scrollview时,手指移动方向跟滚动条方向相同时,会导致scrollview的滚动.此时如果不想滚动的话,可以在要接受ontouch的子视图,或者子子视图中的touch监听里加上v.get ...

  8. 判断scrollview是否滚动到了底部

    调用函数判断如下:if(getScrollY() + getHeight() >=  computeVerticalScrollRange()){        Log.d(TAG," ...

  9. 解决点击状态栏时ScrollView自动滚动到初始位置失效办法

    http://www.cocoachina.com/ios/20150807/12949.html 取消点击状态栏scrollView会自动滚动到初始位置的功能 _scrollView.scrolls ...

随机推荐

  1. 【GO】GO语言学习笔记一

    a.为何学习GO语言? 从个人角度来看,第一是被GO语言传说中的那样超高的开发效率和运行效率所吸引:第二是GO语言在语言层面支持并发,这在现在的编程业务中是很方便的:第三是由于前两点,我觉得以后GO会 ...

  2. 解决项目中.a文件的冲突

    .a文件是静态文件,有多个.o文件组合而成的,在ios项目开发中,当引用第三方库的时候,时不时的会碰到诸如库冲突.库包含了某些禁用的API等问题,而这些库往往都被打包成了静态库文件(即 .a文件)来使 ...

  3. Excel 数据关联

    =INDEX(Sheet2!$A$2:$A$77,MATCH(A4,Sheet2!$C$2:$C$77,0))

  4. google浏览器打开报出文件不可读解决方案

    1.打开*.desktop文件 gedit ~/.local/share/applications/name.desktop 在文件中做改动: The .desktop file should loo ...

  5. linux内核追踪——find_next_bit函数详详详解

    写在前面 宗旨:把话说清楚,把道理讲透彻. 约定:所有代码均来自Linux内核2.6.24版. 建议:本文介绍得十分详细,但也略显繁琐,读者可以先看“Ⅴ.总结”部分带注释的源码,如果哪里不清楚,再回头 ...

  6. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

  7. 微信小程序-页面链接

    navigator 页面链接. 注:navigator-hover默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, <navig ...

  8. python进阶(四)---需要了解的魔法方法

    以下内容,源于个人理解所得,纯属臆测,爱信不信:-D.欢迎大家留言讨论指正. 1.__new__魔法方法: 原型:__new__(cls, *args, **kwargs) 说明:__new__魔法方 ...

  9. Stl源码剖析读书笔记之Alloc细节

    阅读基础: Foo *pf = new Foo; 执行了两个步骤: 1)::operator new 向系统申请内存. 2) 调用Foo::Foo()构造函数构造实例.  ==> 申请内存,构造 ...

  10. ubuntu12.04 安装 QQ

    友情提示:QQ对于第三方平台封杀已经到了丧心病狂的程度,所以不要妄想在linux的QQ能像win系统下的效果,只能祈求能用就好 1.下载QQ安装包 http://pan.baidu.com/s/1ge ...