Как запустить UIControlEventTouchCancel?

#iphone #objective-c

#iPhone #objective-c

Вопрос:

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

У меня есть класс, который наследуется от UIControl, и я делаю это при инициализации:

 [self addTarget:self action:@selector(onTouchCancel)forControlEvents:UIControlEventTouchCancel];
  

Как мне запустить событие отмены?

Спасибо за вашу помощь!

Ответ №1:

Используйте «UIControlEventTouchUpOutside», если вам нужно событие, когда палец находится за пределами элемента управления.

Комментарии:

1. чтобы запустить это, мне пришлось бы поднять палец. Нет ли способа обнаружить dragExit, как только он действительно завершится? Я попробовал UIControlEventDragExit, но это почему-то срабатывает слишком поздно.

2. хорошо, может быть, мне просто нужно с этим смириться. Кажется, что эти события просто не могут быть обнаружены быстрее.