Я пошел такой класс
@interface UIGestureHolder : UILongPressGestureRecognizer {
int tag;
}
@property (nonatomic, readwrite) int tag;
@end
@implementation UIGestureHolder
@synthesize tag;
@end
Затем я назначаю это кнопке, чтобы при ее удержании вызывалось нажатие кнопки:
UIGestureHolder *longpressGesture = [[UIGestureHolder alloc] initWithTarget:self action:@selector(buttonHeld:)];
longpressGesture.minimumPressDuration = 1.5;
[longpressGesture setDelegate:self];
longpressGesture.tag=i;
[contactButton addGestureRecognizer:longpressGesture];
[longpressGesture release];
Buttonheld функция:
-(void)buttonHeld:(id)sender
{
int i = ((UIControl *) sender).tag;
......
}
Когда я держу кнопку в течение 1,5 секунд или в любое другое время, которое мне нужно, среда выполнения сообщает мне, что я держал кнопку два раза по 1,5 каждый, почему? Это вызывает у меня исключения позже.
Почему среда выполнения думает, что я два раза держу кнопку?