views:

205

answers:

1

I have a subclass of UITableViewController that works as expected. I'd like to capture multitouch events for the whole table to do something with them.

The way I understand it, I should make the tableView of the controller be a subclass of UITableView. In that class I could capture the touchesMoved etc events.

But I also understand that UITableView is a subclass of UIScrollView which hijacks all the touch events so that I never see them.

So, is there some way to still get to those multitouch events for my table? Specifically I'd like to implement something like two-finger pinch/zoom and one-finger horizontal dragging.

Since those touch events are all passed to table cells, perhaps I should do this at table cell level? The only question there is, is this compatible with multitouch? (So that I can aggregate events from different cells as multitouch events and process those...)

EDIT: tried with cells and was able to see some horizontal events. All the vertical events, though, are completely hijacked by the UIScrollView as table scrolls. I wouldn't want to hack this if there's any way at all to make the UIScrollView un-hijack these events...

A: 

This solution seems to work fine and feels quite clean. I'll leave the question open for a while, for if someone wants to suggest something else, and then mark this as answer at some point if I won't get anything more.

Jaanus