我知道如何快速获得两点之间的距离。但我想知道如何将两个锚点之间的距离作为 CGFloat。
例如:我想找到两者之间的距离
view.topAnchor
和
button.topAnchor
我猜我将不得不获得锚的 CGPoint(然后我可以找到 CGPoint 的 y 点之间的差异)。我只是不知道该怎么做。
我知道如何快速获得两点之间的距离。但我想知道如何将两个锚点之间的距离作为 CGFloat。
例如:我想找到两者之间的距离
view.topAnchor
和
button.topAnchor
我猜我将不得不获得锚的 CGPoint(然后我可以找到 CGPoint 的 y 点之间的差异)。我只是不知道该怎么做。
锚点实际上是用来构造约束的。如果您已经在使用它们,则只需使用 constraint.constant 属性即可获取值。像这样,
let view = UIView()
let button = UIButton()
view.addSubview(button)
let heightConstraint = button.topAnchor.constraint(equalTo: view.topAnchor)
heightConstraint.isActive = true
view.layoutIfNeeded() // update incase still not updated
print(heightConstraint.constant)
但我认为你真正想要实现的是,
let distance = button.frame.minY - view.frame.minY
像这样测量距离。