这可能是一个愚蠢的问题,但我找不到这个问题的答案......
我有一个 UIScrollView 和一些 UIButtons。当我按下一个按钮时,我想知道该按钮的屏幕位置。如果我使用 button.frame,它会给我 UIScrollView 中的位置,这是正常的。
如何找到相对于按下按钮的屏幕的 x 和 y?
提前致谢。
这可能是一个愚蠢的问题,但我找不到这个问题的答案......
我有一个 UIScrollView 和一些 UIButtons。当我按下一个按钮时,我想知道该按钮的屏幕位置。如果我使用 button.frame,它会给我 UIScrollView 中的位置,这是正常的。
如何找到相对于按下按钮的屏幕的 x 和 y?
提前致谢。
你的反对是正确的——相反,使用
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
来自 UIView,比如
[button.superview convertPoint:button.frame.origin toView:nil];
未经测试,但我相信应该可以。另请参阅iPhone - 在整个 UIWindow 中获取 UIView 的位置
对于快速:
let pointXY:CGPoint = (button.superview?.convert(button.frame.origin, to: nil))!
print("button pointXY: \(pointXY.debugDescription)")