get UIButton inside an UIScrollView absolute screen location

9.2k Views Asked by At

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.

2

There are 2 best solutions below

1
On BEST ANSWER

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

1
On

For swift:

let pointXY:CGPoint = (button.superview?.convert(button.frame.origin, to: nil))!
print("button pointXY: \(pointXY.debugDescription)")