iOS 【UIKit-UIScrollView】
来源:互联网 发布:linux 印象笔记 编辑:程序博客网 时间:2024/05/16 02:58
首先,我们来通过一张图来直观的了解UIScrollView:
经典解释:就像两张重叠在一起的纸,上面的纸中间有个320*480的屏幕状的洞,然后下面的纸可以无限大,显示是内容,你可以将手指通过这个洞来移动下面的纸,来阅读上面的信息。(这句话帮助理解很重要)
contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960), 代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480
contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示
★★★个人理解:
还是要套用一下经典解释:
contentInset:
// 上 左 下 右
// UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)
self.scrollView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);
contentInset——我们在上面的例子中设置了contentInset的 上 和 下 属性。一个是64,一个是49。(都是正数)显然就是下面“那张纸”的视图你看不到的部分。你往下无论怎么拉,上面的64尺寸的部分你都无法看到;无论怎么往上拉视图,下面的49尺寸的部分也是无法看到的。上面的纸抠出的洞是不能观察这一部分的。(补充一下,你使劲拉是能看到后面的,但是松手,视图就会弹回去。所以我在上面说:无法看到)
contentSize——是下面那张带有图画的纸 可以观察的尺寸(下面纸是无限大的,所以要说“可以观察的尺寸”)。也是透过上面那张纸抠出来的洞可以看到的部分!
self.scrollView.contentSize = CGSizeMake(0, h);
// CGSizeMake(CGFloat width, CGFloat height)
上面contentSize的width设置为0,也就说明了视图左右是无法移动的。而上下可以移动的最大幅度就是到h尺寸
contentOffset——上面纸抠出来的洞(基准点) 和 contentSize 的相对位置,下面那张纸是坐标系,而抠的洞的左上角就是基准点(如果要设置一个Button来控制这个洞的移动,那么触发方法click时方法内部更改的值就可以是contentOffset的参数,这样就能控制“洞”的移动了。注意这里是“洞”的移动,而不是下面那张纸的移动,和经典解释并不同,因为这里我们改的是洞的坐标,也就是contentOffset)
- iOS 【UIKit-UIScrollView】
- iOS UIKit - UIScrollView
- iOS-UIKit(UIScrollView.h - -解读)
- 通过UIKit坐标系来全面掌握iOS中的UIScrollView组件
- UIKit之UIScrollView
- UIKit 滚动视图 UIScrollView
- 【UIKit-93-1】#import <UIKit/UIScrollView.h>
- 【UIKit-93-2】#import <UIKit/UIScrollView.h>
- 用UIKit Dynamics模仿UIScrollView
- iOS 【UIKit-UIScrollView 无法滚动的原因/两种情况下的弹簧效果】
- UIKit框架- 08.UIScrollView基本使用
- Objective-C: UIKit: UIScrollView、欢迎界面
- iOS UIScrollView
- IOS UIScrollView
- UIscrollview ios
- IOS UIScrollView
- IOS UIScrollView
- IOS UIScrollView
- UVA 12169 Disgruntled Judge(暴力)
- 不为繁华易匠心
- 协同过滤相关算法(1):SVD
- asp.net简单的注册或者登陆三层架构的例子
- struts2 导出excel
- iOS 【UIKit-UIScrollView】
- sqlite3常用命令&语法
- UIDynamicAnimator 详解
- Linux下串口工具kermit的安装使用攻略
- UVA 10375 Choose and divide(组合数运算)
- 程序员启示录
- IL,Emit之OpCodes说明(备查)
- 开源 java CMS - FreeCMS2.4字典管理
- Xcode7.0运行之前的程序报错的解决方法