When I touch (Touch Up) a UITableViewCell my ViewController’s UITableViewDelegate method – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath is called. I need to get the x-coordinate of the Touch-Point at this time as well so that I can know what portion of the Cell was touched (non-accessory items). I have tried using the usual touch methods such as TouchesDidEnd but the coordinates always return x=0.000 y=0.000 no matter where I touched (A location in a custom UITableViewCell in a UITableView object in my ViewController). I also tried implementing touch handling from within the Custom Cell class and while I COULD get accurate coordinates alas I could find no way to communicate those coordinates to my ViewController class (which has the UITableView).
Q: Is there a good way I can get the x-coordinates of the device’s screen when I touch a custom UITableViewCell?
Put a transparent
UIViewatop your table view, override its-touchesBegan:withEvent:etc. methods. In those overridden methods, get theUITouchobjects and call-locationInView:on them to get theCGPointvalues.That gives you the coordinates of a touch event.
Then you just pass on those
UITouchevents to the underlying table view. The table view handles its usual business of passing touches on to rows, etc.