How to get UIView given a CGPoint?

Aki24x picture Aki24x · May 17, 2011 · Viewed 7.2k times · Source

I am trying to find a way to get a particular UIView given a CGPoint. Briefly, I want to do a hit test.

For example, I have a UIView which has many subviews whose sizes are smaller than the parent UIView. What I want to do is, when a touchMoved event happens, to check the other subviews around the touched subview. For that purpose, it would be nice to be able to convert a CGPoint to a subview UIView.

I'm new to Objective-C. Is there good way to do it? Any suggestion would be really helpful. :)

Answer

jjwchoy picture jjwchoy · May 17, 2011

There is a hitTest:withEvent: selector on UIView. This returns the deepest subview in the view hierarchy that contains that point. Try calling this on your topmost view.