问题
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
.
来源:https://stackoverflow.com/questions/2906787/how-to-convert-window-coordinates-relative-to-a-specific-view