gpt4 book ai didi

iphone - 在 iOS 上,更改 UIView 对象的框架和中心是否会改变其内部坐标系?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:15:32 25 4
gpt4 key购买 nike

在 iOS 上,如果我们改变一个 View 的 frame,我们改变它的 bounds,如果我们改变它的 bounds,我们改变它的 框架

但是我们可以通过以下方式更改 View 的内部坐标系:

CGRect b = v.bounds;    // v is the UIView object
b.origin.x = 10000;
b.origin.y = 10000;
v.bounds = b;

现在, View 左上角的坐标是 (10000, 10000)。这是否也可以通过仅更改 framecenter 而不是 bounds 来实现?

最佳答案

On iOS, if we change a view's frame, we change its bounds, and if we change its bounds, we change its frame.

这只对了一半。只有这两个矩形的大小 绑定(bind)在一起。来自文档:

The size portion of the frame and bounds rectangles are coupled together so that changing the size of either rectangle updates the size of both.

这并没有提到起源。因此,您的示例将修改内部坐标系的原点,而不更改其在父 View 坐标系中的位置。您无法通过 framecenter 属性实现该行为;它们只会影响 View 在其父 View 坐标系中的位置。

关于iphone - 在 iOS 上,更改 UIView 对象的框架和中心是否会改变其内部坐标系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com