«Касание», как правило, считается касанием внутри кнопки с последующим касанием внутри кнопки. Вам нужно выяснить, хотите ли вы событие касания изнутри или событие касания изнутри (или оба).
Допустим, вам нужно событие касания изнутри. Напишите такой метод в вашем контроллере вида:
- (IBAction)buttonWasTouched:(UIButton *)button forEvent:(UIEvent *)event {
NSSet *touches = [event touchesForView:button];
NSLog(@"button:%@ touches:%@", button, touches);
}
Если вы создаете кнопку в кончике, удерживайте нажатой клавишу «Control» и подключите ее выход «Touch Down» к действию buttonWasTouched:forEvent:
на контроллере представления (который, вероятно, является владельцем файла).
Если вы создаете кнопку в коде, отправьте addTarget:action:forControlEvents:
на кнопку, чтобы связать ее событие UIControlEventTouchDown
с действием buttonWasTouched:forEvent:
контроллера представления.
Если вы хотите поймать событие «касание изнутри», подключите его выход «Touch Up Inside» в наконечнике или используйте UIControlEventTouchUpInside
в коде.