边框、边界、和中心的关系
2013-08-28 17:14
155 查看
视图对象通过
(0, 0),但这并不是必须的。
在代码中,您可以将
图2-4显示了边框矩形和边界矩形之间的关系。右边的整个图像 是从视图的(0, 0)开始描画的,但是由于边界的大小和整个图像的尺寸不相匹配,所以位于边界矩形之外的图像部分被自动裁剪。在视图和它的父视图进行合成的时候,视图在其 父视图中的位置是由视图边框矩形的原点决定的。在这个例子中,该原点是(5, 5)。结果,视图的内容就相对于父视图的原点向下向右移动相应的尺寸。
图2-4 视图的边框和边界之间的关系
如果没有经过变换,视图的位置和大小就由上述三个互相关联的属性决定的。当您在代码中通过
虽然您可以分别设置这些属性的值,但是设置其中的一个属性会引起其它属性的改变,具体关系如下:
当您设置
当您设置
当您设置
您可以改变
图2-5 改变视图的边界
请注意:缺省情况下,视图的边框并不会被父视图的边框裁剪。如果您希望让一个视图裁剪其子视图,需要将其
frame、
bounds、和
center属性声明来跟踪自己的大小和位置。
frame属性包含一个矩形,即边框矩形,用于指定视图相对于其父视图坐标系统的位置和大小。
bounds属性也包含一个矩形,即边界矩形,负责定义视图相对于本地坐标系统的位置和大小。虽然边界矩形的原点通常被设置为
(0, 0),但这并不是必须的。
center属性包含边框矩形的中心点。
在代码中,您可以将
frame、
bounds、和
center属性用于不同的目的。边界矩形代表视图本地的坐标系统,因此,在描画和事件处理代码中,经常借助它来取得视图中发生事件或需要更新的位置。中心点代表视图的中心,改变中心点一直是移动视图位置的最好方法。边框矩形是一个通过
bounds和
center属性计算得到的便利值,只有当视图的变换属性被设置恒等变换时,边框矩形才是有效的。
图2-4显示了边框矩形和边界矩形之间的关系。右边的整个图像 是从视图的(0, 0)开始描画的,但是由于边界的大小和整个图像的尺寸不相匹配,所以位于边界矩形之外的图像部分被自动裁剪。在视图和它的父视图进行合成的时候,视图在其 父视图中的位置是由视图边框矩形的原点决定的。在这个例子中,该原点是(5, 5)。结果,视图的内容就相对于父视图的原点向下向右移动相应的尺寸。
图2-4 视图的边框和边界之间的关系
如果没有经过变换,视图的位置和大小就由上述三个互相关联的属性决定的。当您在代码中通过
initWithFrame:方法创建一个视图对象时,其
frame属性就会被设置。该方法同时也将
bounds矩形的原点初始化为(0.0, 0.0),大小则和视图的边框相同。然后
center属性会被设置为边框的中心点。
虽然您可以分别设置这些属性的值,但是设置其中的一个属性会引起其它属性的改变,具体关系如下:
当您设置
frame属性时,
bounds属性的大小会被设置为与
frame属性的大小相匹配的值,
center属性也会被调整为与新的边框中心点相匹配的值。
当您设置
center属性时,
frame的原点也会随之改变。
当您设置
bounds矩形的大小时,
frame矩形的大小也会随之改变。
您可以改变
bounds的原点而不影响其它两个属性。当您这样做时,视图会显示您标识的图形部分。在图2-4中,边界的原点被设置为(0.0, 0.0)。在图2-5中,该原点被移动到(8.0, 24.0)。结果,显示出来的是视图图像的不同部分。但是,由于边框矩形并没有改变,新的内容在父视图中的位置和之前是一样的。
图2-5 改变视图的边界
请注意:缺省情况下,视图的边框并不会被父视图的边框裁剪。如果您希望让一个视图裁剪其子视图,需要将其
clipsToBounds属性设置为
YES。
相关文章推荐
- 利用边界跟踪计算多个对象的直径和中心(一)
- CSS语法手册(四)文本填充,边框,边界和位置属性(二)
- css控制边界与边框示例(内边距、外边距使用方法)
- 利用边界跟踪计算多个对象的直径和中心(二)
- CSS控制边界、边框与外轮廓
- CSS语法手册(三)文本填充,边框,边界和位置属性(一)
- DDD:在基于关系数据库的领域,聚合的边界等于并发管理的边界。
- SAP的成本中心与利润中心的关系
- CSS学习(四)——边框与边界
- 初学dubbo,zookeeper和注册中心的一些小的概念和关系梳理笔记
- DDD:在基于关系数据库的领域,聚合的边界等于并发管理的边界。
- 突破应用的边界——以人为中心的信息系统
- 学习中的思考-关系为中心的学习
- SAP的成本中心与利润中心的关系
- CSS——【元素内边距padding、元素外边距margin、元素边框border-width、元素大小width/height】与【元素显示大小】的关系
- 理解盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
- SAP的成本中心和利润中心的关系
- [置顶] 内容(content)、填充(padding)、边框(border)、边界(margin):CSS中盒子模型有何区别?
- CSS3圆角边框和边界图片效果实例
- Css样式表【边界边框】【列表方块】