get UIButton inside an UIScrollView absolute screen location
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)")