It may be a dumb question, but I can't find an answer to this ...
I have an UIScrollView and inside a number of UIButtons. When I press a button, I want to know the screen location of the button. If I use button.frame it gives me the position inside UIScrollView, which is normal.
How can I find x and y relative to screen of the button pressed?
Thanks in advance.
Rob Lourens
Your objection was right- instead, use
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
from UIView, like
[button.superview convertPoint:button.frame.origin toView:nil];
Not tested, but I believe that should work. Also see iPhone - Get Position of UIView within entire UIWindow
For swift:
let pointXY:CGPoint = (button.superview?.convert(button.frame.origin, to: nil))!
print("button pointXY: \(pointXY.debugDescription)")
来源:https://stackoverflow.com/questions/5626411/get-uibutton-inside-an-uiscrollview-absolute-screen-location