2016-01-26 3 views
0

У меня есть UIView с UITableView как подвью. Когда я добавляю распознаватель жестов к представлению, моя «таблица сделала выбор строки» больше не запускается, но распознаватель жеста всегда запускается? Я попытался удалить распознаватель жестов из таблицы, но это не имеет никакого эффекта.UIView с UITableView как subview

let viewRecognizer = UITapGestureRecognizer(target: self, action: "handleTap") 
viewRecognizer.delegate = self 
self.view.addGestureRecognizer(viewRecognizer) 
//This has no effect! 
orderTableView.removeGestureRecognizer(viewRecognizer) 
+1

При обнаружении прикосновения, она идет на каждый вид с вершины стека в нижней части, пока он не упрется вид, который может справиться с этим, то не продолжать до конца. Ваше представление обнаруживает прикосновение, и поэтому оно никогда не пересылается в таблицу. –

+0

ОК, поэтому я должен использовать locationInView и indexPathForRowAtPoint, я полагаю. Кажется, это грязный способ сделать это? – user1700737

+0

Зачем вам нужен указатель gestureRecognizer в области, занимаемой табличным представлением? Не могли бы вы сделать второй подзаголовок для области, не занятой tableView, а затем установить для этого gesureRecognizer? –

ответ

2

Вы установите cancelsTouchesInView в NO для UIView?

См documentation

+0

Привет, я закончил так: пусть location = распознавание.locationInView (self.orderTableView) если пусть indexPath = self.orderTableView.indexPathForRowAtPoint (местоположение) {... вы делаете ....} – user1700737

Смежные вопросы