Прикосновение к UIButton в UITableViewCell не может прокрутить таблицу - PullRequest
5 голосов
/ 05 декабря 2011

Мне нужно иметь UIButton внутри UITableViewCell, все работает нормально, кроме случаев, когда я касаюсь внутри кнопки и двигаю палец, стол не прокручивается.

Я попытался создать подкласс UIButton и в touchesMoved: метод отправляет то же сообщение на self.nextResponder, либо вызывает touchesCancelled и надеется, что он передаст событие касания следующему респонденту, они оба не работают.

Есть ли хороший способ решить эту проблему? В настоящее время я добавляю UIView поверх UITableViewCell и определяю события касания вручную, передавая результат кнопке или остальной части ячейки соответственно, но это немного грязно.

Ответы [ 2 ]

3 голосов
/ 20 февраля 2014

Можно попробовать установить для свойства delaysContentTouches для UITableView значение YES.

Дополнительно вы можете установить canCancelContentTouches на YES.

Если значение этого свойства НЕТ, представление прокрутки не прокручивается независимо от движения пальца после начала просмотра содержимого.

Источник: Справочник по классам UIScrollView

Попробуйте:

_yourTableView.delaysContentTouches = YES;
_yourTableView.canCancelContentTouches = YES;
0 голосов
/ 28 марта 2012

Лучший способ - создать собственную ячейку и аккуратно выполнять свою работу.

Проверьте Документы Apple

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...