view的坐标系
2020-03-31 本文已影响0人
叫我魏大川
温故而知新
view
frame(x1, y1, w, h)
frame中的x1, y1, 是描述相对于父视图坐标系的坐标。
(x1+1, y1+1) = 向右下各移动一个单位。(影响自身位置)
bounds(x2, y2, w, h)
x2, y2,描述的是相对于自身坐标系的坐标。
(x1-1, y1-1) = 向右下各移动一个单位。(影响子视图位置)
layer
view的frame和bounds都是由layer的frame、 position、anchorPoint计算而来的。
position规定本layer中的anchorPoint在父layer中的位置。(view负责内容和事件,layer主要负责显示)
anchorPoint 是比例,范围是0-1。规定的是本layer内部哪个点作为起始点来响应position。
position,anchorPoint 二者相互不影响。但是会影响frame中的orgain。
三者关系
frame.origin.x = position.x - anchorPoint.x * bounds.size.width;
frame.origin.y = position.y - anchorPoint.y * bounds.size.height;