7

这可能是一个愚蠢的问题,但我找不到这个问题的答案......

我有一个 UIScrollView 和一些 UIButtons。当我按下一个按钮时,我想知道该按钮的屏幕位置。如果我使用 button.frame,它会给我 UIScrollView 中的位置,这是正常的。

如何找到相对于按下按钮的屏幕的 x 和 y?

提前致谢。

4

2 回答 2

11

你的反对是正确的——相反,使用

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view

来自 UIView,比如

[button.superview convertPoint:button.frame.origin toView:nil];

未经测试,但我相信应该可以。另请参阅iPhone - 在整个 UIWindow 中获取 UIView 的位置

于 2011-04-11T19:29:07.923 回答
7

对于快速:

let pointXY:CGPoint = (button.superview?.convert(button.frame.origin, to: nil))!
print("button pointXY: \(pointXY.debugDescription)")
于 2018-12-25T14:23:47.673 回答