Как проверить наличие определенных событий в методе touchesBegan:withEvent:

#objective-c #ios #uicontrolevents

#objective-c #iOS #uicontrolevents

Вопрос:

Как я могу добавить проверку в метод ниже, чтобы метод реагировал только на событие «UIControlEventTouchUpInside»?

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

Могу ли я проверить событие? Нравится

 if (event == UIControlEventTouchUpInside)
{
    //Do something
}
  

Приведенный выше код не работает. Любой совет, как я могу проверить наличие определенных событий в этом методе?

Ответ №1:

 Assigned tag value for that view or control, where you want to finding touch. And write this code inside touch method:
UITouch *touch = [touches anyObject];
int tagValue =[touch view].tag;

if(tagValue == <YOUR TAG VALUE>){
//perform your action
} 
  

Ответ №2:

Если вы хотите использовать такие события, как touch-up-inside, вам не нужно беспокоиться о низкоуровневой обработке прикосновений. Вместо этого используйте addTarget вот так:

 [button addTarget:self action:@selector(myMethod:) forControlEvents:UIControlEventTouchUpInside];