gpt4 book ai didi

ios - ConvertRect 没有按预期工作

转载 作者:搜寻专家 更新时间:2023-11-01 05:50:10 25 4
gpt4 key购买 nike

我正在尝试将深层“ subview ”框架转换为上层“UIView”。我在此处附加 View 层次结构。

附上插图:

enter image description here

我试过了,但结果离屏幕很远:

let rect = smallSubview.convert(smallSubview.frame, to: bigSuperview)

我正在尝试将小的“ subview ”框架转换为“VideoCrop”/bigSuperView 坐标空间。有什么建议么?谢谢!

最佳答案

不确定,但您不应该考虑边界而不是 smallSubView 的框架吗??

我的意思是:

let rect = smallSubview.convert(smallSubview.bounds, to: bigSuperview)

编辑

我无法回答您的评论,因此更新了我的答案:)

快速查看convert API提示

func convert(_ rect: CGRect, to view: UIView?) -> CGRect Description
Converts a rectangle from the receiver’s coordinate system to that of another view.

Parameters

rect A rectangle specified in the local coordinate system (bounds) of the receiver.

view The view that is the target of the conversion operation. If view is nil, this method instead converts to window base coordinates. Otherwise, both view and the receiver must belong to the same UIWindow object.

因为它表明你应该考虑边界而不是框架 :)

frame 和 bounds 有什么区别??

Bounds :指定 View 在其自己的坐标系中的位置和大小。Frame:虽然这指定了 View 在其 superViews 坐标系中的位置和大小 :)

因此,任何 View 的边界都将以 (0,0) 为原点,其中框架的 x 和 y 相对于其父 View :) 而高度和宽度相同 :)

关于ios - ConvertRect 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41182307/

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