dontWatchMyProfile
dontWatchMyProfile

Reputation: 46400

How to convert window coordinates relative to a specific view?

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?

Upvotes: 5

Views: 6516

Answers (2)

dontWatchMyProfile
dontWatchMyProfile

Reputation: 46400

I found a really easy solution:

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

Upvotes: 11

Alex Reynolds
Alex Reynolds

Reputation: 96974

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.

Upvotes: 0

Related Questions