2012-04-12 2 views
0

С моим текущим контроллером табличного представления я хотел бы реализовать функцию касания и удержания, очень похожую на то, как работает функция массового обслуживания iPod On-The-Go с щелчком мыши.Обнаружение касания и удержания с помощью UITableViewCell, каковы мои варианты?

Я читал несколько сообщений и видел предложения по использованию UILongPressGestureRecognizer. Несмотря на то, что я мог сделать это, это действительно поднимает еще пару вопросов для меня:

  1. Если длительное нажатие обнаруживается, как можно предотвратить метод от называют didSelectRowAtIndexPath (Или я полностью избежать его использования и реализовать Tap жест распознавань в моего UITableViewCell подкласс?)
  2. Как бы я идти о оживляющей ячейке один раз длинный-пресс был обнаружен похожим на стиль IPOD (где подсвеченные ячейки мигает/непрозрачность подсветки идет вверх и вниз несколько раз).

Поблагодарили бы за подсказку.

ответ

1

Если вы используете длинный распознаватель печати, и он срабатывает, то didSelectRowAtIndexPath не будет срабатывать.

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

если (gestureRecognizer.state == UIGestureRecognizerStateBegan) ... если (gestureRecognizer.state == UIGestureRecognizerStateEnded) ...

+0

Есть ли способ, я могу отключить скроллинг с Стала Закончилось? – sooper

+0

Я считаю, что это поведение по умолчанию. Попробуйте и дайте нам знать! Если нет, выполните метод делегирования распознавателя жестов 'shouldRecognizeSimultaneousWithGestureRecognizer:', чтобы вернуть NO, и он заблокирует распознаватели жестов вида прокрутки. – samson

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