1、为什么使用UIScrollView

  因为移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限,当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容普通的UIView不具备滚动功能,不能显示过多的内容,UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容。

2、UIScrollView的最常用的熟性

1)CGPoint contentOffset:该属性是表示UIScrollView的初始滚动的位置

2)contentSize:该属性用来表示UIScrollView内容的尺寸,具体的滚动范围(width,height)

3)UIEdgeInsets contentInset:该属性从来表示UIScrollView的上下左右的额外滚动范围

3、其他一些属性

@property(nonatomic) BOOL bounces;

设置UIScrollView是否需要弹簧效果

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

设置UIScrollView是否能滚动

@property(nonatomic) BOOL showsHorizontalScrollIndicator;

是否显示水平滚动条

@property(nonatomic) BOOL showsVerticalScrollIndicator;

是否显示垂直滚动条

4、UIScrollView的代理

1)scrollViewWillBeginDragging:当用户开始拖拽时调用该方法

2)scrollViewDidScroll:当具体滚动到某一位置时调用该方法(用得最多)

3)scrollViewDidEndDragging:willDecelerate:当用户停止拖拽时调用该方法

5、代码演示

  //具体的滚动范围
_fzhScrollView.contentSize = _fzhImageView.frame.size;
//四周额外滚动范围
_fzhScrollView.contentInset = UIEdgeInsetsMake(, , , );
//初始的滚动点
// _fzhScrollView.contentOffset = CGPointMake(10, 10);
//设置滚动条是否显示
_fzhScrollView.showsHorizontalScrollIndicator = NO;
_fzhScrollView.showsVerticalScrollIndicator = NO;
//设置代理
_fzhScrollView.delegate = self;

6、输出结果:

2016-03-17 15:47:56.538 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:56.562 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:57.052 01-UIScrollView[4049:225106] scrollViewDidScroll
2016-03-17 15:47:57.060 01-UIScrollView[4049:225106] scrollViewDidEndDragging

7、demo现在地址:

https://github.com/fengzhihao123/01-UIScrollView

iOS --UIScrollView的学习(一)的更多相关文章

  1. iOS --UIScrollView的学习(三)自动轮播

    1.前面两章讲的都是基本的用法,这次讲一下比较重要的功能分页和自动播放 2.UIPageControl--分页 2.1只要将UIScrollView的pageEnabled属性设置为YES,UIScr ...

  2. iOS --UIScrollView的学习(二)

    1.接着上一次的说:http://www.cnblogs.com/fengzhihao/p/5287734.html,这次讲一下UISCrollView的缩放功能. 2.当用户在UIScrollVie ...

  3. IOS UIScrollView常用代理方法

    iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...

  4. iOS开发如何学习前端(2)

    iOS开发如何学习前端(2) 上一篇成果如下. 实现的效果如下. 实现了一个横放的<ul>,也既iOS中的UITableView. 实现了当鼠标移动到列表中的某一个<li>,也 ...

  5. iOS开发如何学习前端(1)

    iOS开发如何学习前端(1) 我为何学前端?因为无聊. 概念 前端大概三大块. HTML CSS JavaScript 基本上每个概念在iOS中都有对应的.HTML请想象成只能拉Autolayout或 ...

  6. 移动开发iOS&Android对比学习--异步处理

    在移动开发里很多时候需要用到异步处理.Android的主线程如果等待超过一定时间的时候直接出现ANR(对不熟悉Android的朋友这里需要解释一下什么叫ANR.ANR就是Application Not ...

  7. 关于iOS开发的学习

    关于iOS开发的学习,打个比方就像把汽车分解:    最底层的原料有塑料,钢铁    再用这些底层的东西造出来发动机,座椅    最后再加上写螺丝,胶水等,把汽车就拼起来了 iOS基本都是英文的资料, ...

  8. IOS UIScrollView + UIButton 实现segemet页面和顶部标签页水平滚动效果

    很长一段时间没有写博客了,最近在学习iOS开发,看了不少的代码,自己用UIScrollView和UIButton实现了水平滚动的效果,有点类似于今日头条的主界面框架,效果如下: 代码如下: MyScr ...

  9. IOS科研IOS开发笔记学习基础知识

    这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...

随机推荐

  1. 发现ramnit样本一枚

    https://files.cnblogs.com/files/yfish/DesktopLayer.rar

  2. [原创]使用OPENCC库进行简繁转换(C++代码)

    最近公司有一款游戏产品,字库存在问题,希望全自动进行简繁同屏自动转换的行为,减少工作量. 所以自己使用了WINDOWS自带的一些转换函数,但发现大量字出现异常,无法转换(测试iconv也发现无法转换) ...

  3. cxf的一些使用说明

    /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...

  4. UVa 10559 Blocks (DP)

    题意:一排带有颜色的砖块,每一个可以消除相同颜色的砖块,,每一次可以到块数k的平方分数.求最大分数是多少. 析:dp[i][j][k] 表示消除 i ~ j,并且右边再拼上 k 个 颜色等于a[j] ...

  5. Redis Quick Start [熟练版]

    一.下载解压 wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stable ...

  6. Java学习总结——常见问题及解决方法

    CYTX项目开发中遇到的问题及解决方法 Android开发各类常见错误解决方案: 使用Android Studio遇到的问题及解决过程 登录注册部分问题及解决: 1.问题:"No targe ...

  7. nancy中的本地化

    1 建立一个文件夹 ,名称可以任意 2 添加资源文件 比如 Text.resx 3 使用 <h3>"@Text.Text.Greeting"</h3> 其中 ...

  8. ServiceStack.Text json中序列化日期格式问题的解决

    标记: ServiceStack.Text,json,序列化,日期 在使用ServiceStack.Text的序列化为json格式的时候,当属性为datetime的时候,返回的是一个new date( ...

  9. 构建命令maven install 打包不是最新的代码

    问题: 之前一直用的是mvn install 命令来构建项目,但是最近发现最新的代码没有在war包中.之前看的说 mvn install 命令会执行之前的所有阶段,会被编译,测试,打包. 经查最后采用 ...

  10. oracle 11gr2 2.04 em 更改 hostname 后无需重建资料库的方法

    1) 备份删除$ORACKE_HOME/ xxxx-sid 的EM目录:复制要创建的xxx-sid EM 名称目录: 备份删除$ORACKE_HOME/oc4j/j2ee/ xxxx-sid 的EM目 ...