UIScrollView

UIScrollView 是可以滚动的视图,UIView本身不能滚动,子类UIScrollView扩展了滚动方面的功能.

UIScrollView 是所有滚动视图的基类.以后的UItableView,UITextView等视图都是继承于该类.

使用场景:显示不下(单张大图);内容太多(图文混排);滚动头条(图片);相册等.

效果如图:

UIScrollView的核心功能:

UIScrollView主要专长两个方面:

滚动:contentSize大于frame.size的时候,能够滚动.

缩放:自带缩放,可以指定缩放倍数.

UIScrollView滚动相关属性

contentSize    //定义内容区域大小,决定是否能够滑动

contentOffset       //视图左上角距离坐标原点的偏移量

scrollToTop      //滑动到顶部(点击状态条的时候)

pagingEnabled    //是否整屏翻动

boundces      //边界是否回弹

scrollEnabled     //是否能够滚动

showsHorizontalScrollIndicator     //控制是否显示水平方向的滚动条

showVerticalScrollIndicator     //控制是否显示垂直方向的滚动条

alwaysBounceHorizontal     //控制水平方向遇到边框是否反弹

alwaysBounceVertical           //控制垂直方向遇到边框是否反弹

minimumZoomScale     //缩小的最小比例

maximumZoomScale     //放大的最大比例

zoomScale    //设置变化比例

zooming     //判断是否正在进行缩放反弹

bouncesZoom     //判断缩放时是否会反弹

要实现缩放,还需要实现delegate,指定缩放的视图是谁。

UIScrollView代理方法

UIPageControl

用于指示当前第几页,通常与UIScollView配合使用

效果如下图红框所示:

UIPageControl

currentPage     //当前页

numberOfPages     //指定页面的个数

UIPageControl父类是UIControl

所以,可以像button一样添加事件,只不过事件触发使用是UIControlEventsValueChanged,而不是UIControlEventsTouchUpInside。

UIPageControl和 UIScrollView相结合

通常在Scrollview滚动的时候修改pageControl的currentPage。如首页的轮播图

总结:

contentSize决定了scrollView能否滚动,contentOffset控制内容区域 的偏移量,pageEnabled控制能否整⻚滚动。

scrollView实现缩放需要指定最⼤缩放系数,最⼩缩放系数,并指定 缩放的视图。

pageControl不单独使⽤,通常与scrollView结合使⽤。

UI基础:UIScrollView、UIPageControl的更多相关文章

  1. iOS开发——UI基础-UIScrollView

    一.UIScrollView使用的步骤 1.创建UIScrollView 2.将需要展示的内容添加到UIScrollView中 3.设置UIScrollView的滚动范围 (contentSize) ...

  2. UI基础 - UIScrollView

    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , , )]; scrollView.backgroundColor = [ ...

  3. iOS开发UI篇—UIScrollView控件实现图片轮播

    iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: #import "YYV ...

  4. 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

    原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...

  5. 转发-UI基础教程 – 原生App切图的那些事儿

    UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切 ...

  6. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  7. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  8. Android UI基础之五大布局

    Android  UI基础之五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Andro ...

  9. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

随机推荐

  1. python 处理命令行参数--转载

    标题写了那么久,现在现在才有时间,整理下自己的思路.首先先总结下自己对sys模块的理解.手册上对sys的描述是系统参数和系统函数,这里的系统实际上是python解释器.这个模块提供了用户可以访问的解释 ...

  2. Myeclipse下配置svn

    转载高鑫的..嘻嘻.. MyEclipse安装配置SVN 2013.10.15 No Comments 67 Views 配置之前请先关闭MyEclipse,OK开始了 1.解压site-1.6.18 ...

  3. 证明: 2^0+2^1+2^2+2^3+.+2^n-1=(2^n)-1

    S=2^0+2^1+2^2+2^3+.+2^(n-1)2S=2^1+2^2+2^3+...+2^(n-1)+2^n两式相减,2S-S=2^n-2^0S=2^(n)-1

  4. Unity中使用的一套敏感词过滤方式

    当项目中的敏感词数量不是很多的时候,直接用数组来遍历过滤其实也可以,但是具体的数量有多大,这个肯定不好说,因此,对.txt中的敏感词合理组织后再进行过滤就显得非常有必要了. 如上图,左边是txt中配置 ...

  5. Lua中模块初识

    定义了两个文件: Module.lua 和 main.lua 其中,模块的概念,使得Lua工程有了程序主入口的概念,其中main.lua就是用来充当程序主入口的. 工程截图如下: Module.lua ...

  6. 雷林鹏分享:C# 命名空间(Namespace)

    C# 命名空间(Namespace) 命名空间的设计目的是为了提供一种让一组名称与其他名称分隔开的方式.在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突. 定义命名空间 命名 ...

  7. python--HTTPClient接口测试踩坑

    1.今天下午做接口测试的时候遇到一个奇怪的问题:原因不明 requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisc ...

  8. codeforces 497c//Distributing Parts// Codeforces Round #283(Div. 1)

    题意:有n个区间[ai,bi],然后有n个人落在[ci,di],每个人能用ki次.问一种方式站满n个区间. 两种区间都用先x后y的升序排序.对于当前的区间[ai,bi],将ci值小于当前ai的全部放入 ...

  9. python-day47--pymysql模块

    一.安装导入 #安装 pip3 install pymysql 二.使用 1 .基本使用 import pymysql # 链接,拿到游标 conn=pymysql.connect(host='loc ...

  10. ccf交通规划

    一.试题 问题描述  G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统.  建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改 ...