2012-06-25 2 views

ответ

3

Когда вы касаетесь ячейки, она становится подсвеченной; попробуйте переопределить setHighlighted: в подклассе UITableViewCell, чтобы настроить внешний вид, когда он изменится на YES (прикосновение пользователя) или NO (пользователь снят).

(Переопределение touchesBegan:withEvent: также будет работать, но проще в использовании setHighlighted: для того, чтобы захватить, когда вы не более трогательным, в противном случае вам нужно переопределить touchesEnded:withEvent: и touchesCancelled:withEvent:).

1

Если вы ищете события, которое срабатывает, когда пользователь вводит ячейку, но до того, как официально выбран, есть UITableViewDelegate метод:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath 

Из документации:

Этот метод не вызывается до тех пор, пока пользователи не коснутся ряда, а затем поднимут их пальцы ; строка не выбирается до тех пор, хотя это подсвечено прикосновением. Вы можете использовать UITableViewCellSelectionStyleNone, чтобы отключить внешний вид подсветки ячейки при касании. Этот метод не вызывается, когда таблица вид находится в режиме редактирования (т. Е. Для свойства редактирования таблицы вид установлен в YES), если только вид таблицы не позволяет выбирать во время редактирования (т. Е. Свойство allowSelectionDuringEditing Таблица имеет значение YES.

EDIT

Для достижения поведения вы ищете, я считаю, что вам нужно подкласс UITableViewCell и реализовать метод

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

Вы можете узнать больше о обработке событий в UIResponder class reference, из которого все подклассы UIViews.

+0

Это то, что я хочу, но не совсем. Когда вы поместите свой палец по обычной ячейке, он будет выбран (синий). В пользовательской ячейке, которую я использую, этот выбор происходит под самой ячейкой, поэтому я отключил ее, установив стиль «none». Я хочу вызвать метод точно, когда пользователь коснется ячейки. Этот метод, который вы предлагаете, запускается только после того, как пользователь выбирает ячейку, но не тогда, когда он просто накладывает на нее свой палец. – Sync

+0

@Sync Я подозревал, что это то, что вы хотите, я сделал редактирование своего ответа, который, надеюсь, поможет вам –

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