博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
contentSize、contentInset和contentOffset区别
阅读量:4346 次
发布时间:2019-06-07

本文共 1033 字,大约阅读时间需要 3 分钟。

这几个都是在ios程序中,经常会注意到的一些小细节,能否真正了解这些,对写ios程序也有很大的好处。

frame 是UIView中表示此view的一个矩形面积,包括了view在它的superview中的一些几何上的标识。有起始坐标,也就是origin(CGPoint)和这个矩形面积的宽(width)和高(height)

bounds 每个view,除了有对应它的superview的相关坐标外,它自己也有对应它自己的几何坐标,所以bounds就是标识它自己坐标关系的一个标识,它有和frame一样的属性,但在

数值上会有些不同。

center 是一个view的中心,默认是这个view对应superview坐标的中间值。

如下图

Relationship between a view's frame and bounds

假如有个view-A ,它是view-B的一个subview,view-A在view-B上的起始坐标是(40,40)(此坐标是view-B上的坐标关系),view-A的高(height)为380,宽(width)为240.

所以,view-A的frame值是(40,40,240,380) bounds的值是(0,0,240,380) center的值是(160,230). 所以,frame和bounds是有关联的,修改其中一个的宽或高,另一个也会相应的改变。

 

contentSize 是scrollview中的一个属性,它代表scrollview中的可显示区域,假如有一个scrollview,它的frame为(0,0,320,480),而它的contentSize为(320,960).也就是说,这个scrollview整个内容的大小为(320,960),要通过上下滑动scrollview来查看(320,480)后的内容。

contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480

contentInset 是scrollview中contentView.frame.origin与scrollview.frame.origin的关系,比如contentView的frame为(0,30,320,480),那么contentInset则为(0, 30),

转载于:https://www.cnblogs.com/rollrock/archive/2012/12/17/2822531.html

你可能感兴趣的文章
《剑指offer》和为S的两个数字
查看>>
LeetCode:Sort List
查看>>
准备用PHP做一个论坛小项目,来终止PHP的深入研究。准备转.net了
查看>>
hdu1085
查看>>
Intro Of Myself
查看>>
Qt之布局管理——堆栈窗体
查看>>
字符串转换数组
查看>>
shell小程序
查看>>
C# 插件式开发
查看>>
解决CentOS添加新网卡后找不到网卡配置文件
查看>>
毕设问题小记——Extjs报buffered未定义错误
查看>>
Python package下载中遇到ReadTimeoutError: HTTPSConnectionPool?
查看>>
redis和memcache的区别和应用场景
查看>>
自我介绍与提问
查看>>
数据结构:栈 顺序表方法和单链表方法(python版)
查看>>
数据结构:优先队列 基于堆实现(python版)
查看>>
org.hibernate.exception.GenericJDBCException: could not execute statement
查看>>
GeoServer地图开发解决方案(一):环境搭建篇
查看>>
TypeScript的数据类型
查看>>
读写txt文件
查看>>