Iphone 在iOS上,可以更改UIView对象';s框架和中心改变其内部坐标系?
在iOS上,如果我们更改视图的Iphone 在iOS上,可以更改UIView对象';s框架和中心改变其内部坐标系?,iphone,ios,uiview,frame,bounds,Iphone,Ios,Uiview,Frame,Bounds,在iOS上,如果我们更改视图的帧,我们将更改其边界,如果我们更改其边界,我们将更改其帧 但我们可以通过以下方式更改视图的内部坐标系: CGRect b = v.bounds; // v is the UIView object b.origin.x = 10000; b.origin.y = 10000; v.bounds = b; 现在,视图的左上角是(10000,10000)的坐标。仅通过更改帧和中心而不更改边界也可以实现这一点吗 在iOS上,如果更改视图的帧,则更改其边界;如果更改
帧
,我们将更改其边界
,如果我们更改其边界
,我们将更改其帧
但我们可以通过以下方式更改视图的内部坐标系:
CGRect b = v.bounds; // v is the UIView object
b.origin.x = 10000;
b.origin.y = 10000;
v.bounds = b;
现在,视图的左上角是(10000,10000)
的坐标。仅通过更改帧
和中心
而不更改边界
也可以实现这一点吗
在iOS上,如果更改视图的帧,则更改其边界;如果更改其边界,则更改其帧
有一半是真的。只有这两个矩形的大小绑定在一起。从文档中:
框架矩形和边界矩形的大小部分耦合在一起,因此更改任一矩形的大小都会更新两者的大小
那没有提到起源。因此,您的示例将修改内部坐标系的原点,而不更改其在superview坐标系中的位置。您无法通过
框架
或中心
属性实现该行为;它们只影响视图在其superview坐标系中的位置。明确重申,它们是有界的,而不是相等的。旋转将引起有趣的问题。见: