gpt4 book ai didi

ios - 我如何获得从一个 UIView 到另一个 UIView 的垂直距离?

转载 作者:搜寻专家 更新时间:2023-11-01 06:49:54 26 4
gpt4 key购买 nike

如标题所示,我努力寻找一种方法来计算 UIView 之间的垂直距离。假设我在 View Controller 中有两个按钮。我将如何获得指示 button1 底部和 button2 顶部之间距离的 CGFloat?

最佳答案

正如@lobstah 已经指出的那样,可以通过访问相关 View 的帧来计算差异。

但是,有一个必须考虑的重要细节:如果 View 共享相同的父 View ,这只能以这种简单的方式起作用。因为只有这样,帧才会在同一个坐标空间中表达。

一般的方法没有这个限制,只要 View 是同一 View 层次结构的一部分(不出现在不同的窗口上),就不会缩放/由仿射变换旋转如下:

func distanceBetween(bottomOf view1: UIView, andTopOf view2: UIView) -> CGFloat {
let frame2 = view1.convert(view2.bounds, from: view2)
return frame2.minY - view1.bounds.maxY
}

如果 view2 的顶部低于 view1 的底部,则距离为正。

关于ios - 我如何获得从一个 UIView 到另一个 UIView 的垂直距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235154/

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