How to convert window coordinates relative to a sp

2019-05-02 10:46发布

问题:

Example: I have a CGPoint in window coordinates:

CGPoint windowPoint = CGPointMake(220.0f, 400.0f);

There is aView which has a superview in a superview in a superview. Somewhere deep in the view hierarchy, probably even transformed a few times.

When you get a UITouch, you can ask it for -locationInView: and it will return the coordinates relative to that view.

I need pretty much the same thing. Is there an easy way to accomplish that?

回答1:

I found a really easy solution:

[self.aView convertPoint:windowPoint fromView:self.window];


回答2:

Perhaps you could iterate through the superview tree, drilling down to subviews by tag, and add or subtract the subview's frame.origin values to get to a translated windowPoint relative to the view-of-interest's frame.origin.