Как вы распознаете жесты перетаскивания

На мой взгляд, у меня есть несколько кнопок, созданных с использованием IB. Каждая кнопка запускает короткий звуковой сигнал.

Я хочу иметь возможность провести пальцем по ним, чтобы вызвать их... так же, как вы проводите пальцем по клавишам пианино (не волнуйтесь, я не делаю приложение для пианино)

Я не могу понять, как распознать прикосновение снаружи кнопки, а затем внутри нее.

Любые идеи?

Спасибо


person Jonathan    schedule 28.08.2009    source источник


Ответы (1)


В качестве подкласса кнопок от UIControl вы можете использовать реализацию распознавания жестов UIControl.

Посмотрите на UIControl - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents. Это позволит вам указать метод для объекта, который будет вызываться всякий раз, когда происходят определенные события. Возможные события, среди прочего:

   UIControlEventTouchDragInside     = 1 <<  2,
   UIControlEventTouchDragOutside    = 1 <<  3,
   UIControlEventTouchDragEnter      = 1 <<  4,

Полный список доступен в документация по событиям управления.

Когда срабатывает UIControlEventDragOutside, вы можете переоценить, какое представление воспроизводится в данный момент.

person NSSec    schedule 28.08.2009
comment
Спасибо за ответ. Я проверил Apples Control Event Doc. UIControlEventTouchDragEnter звучит именно так, как я хочу. UIControlEventTouchDragEnter Событие, когда палец перетаскивается в границы элемента управления. Но, похоже, это так не работает. Следует сказать, что событие, когда палец повторно перетаскивается в границы элемента управления. Я не могу заставить его перетаскивать снаружи внутрь? В любом случае, я буду продолжать в том же духе. Ваше здоровье - person Jonathan; 28.08.2009
comment
Вы можете использовать события как сигнал о том, что что-то произошло с «текущим представлением». Затем, не будучи полностью уверенным, что это так работает, вы можете изучить текущий UITouch (в частности, свойство представления), чтобы определить, где сейчас находится палец. - person NSSec; 28.08.2009
comment
Как бы вы могли обрабатывать тип события в селекторе? Должен ли я использовать разные селекторы для каждого типа событий? - person ymutlu; 29.11.2011