Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

get UIButton inside an UIScrollView absolute screen location

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.

like image 919
CristiC Avatar asked Apr 11 '11 19:04

CristiC


2 Answers

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

like image 127
Rob Lourens Avatar answered Oct 03 '22 06:10

Rob Lourens


For swift:

let pointXY:CGPoint = (button.superview?.convert(button.frame.origin, to: nil))!
print("button pointXY: \(pointXY.debugDescription)")
like image 31
lenooh Avatar answered Oct 03 '22 06:10

lenooh