#iphone #objective-c #ios #uitapgesturerecognizer
#iPhone #objective-c #iOS #uitapgesturerecognizer
Вопрос:
Привет, я хочу эмулировать долгое нажатие кнопки? как я могу это сделать? Я думаю, что необходим таймер. Можете ли вы мне помочь? Я вижу UILongPressGestureRecognizer
, но как я могу использовать этот тип?
вот код, он не распознает длительное нажатие
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
[self.button addGestureRecognizer:longPress];
[longPress release];
- (void)longPress:(UILongPressGestureRecognizer*)gesture {
if ( gesture.state == UIGestureRecognizerStateEnded ) {
NSLog(@"Long Press");
}
}
Комментарии:
1. Попробуйте использовать
- (IBAction)longPress:(UILongPressGestureRecognizer*)gesture
2. Проверьте
minimumPressDuration
свойство. Интервал времени указан в секундах. Длительность по умолчанию составляет 0,5 секунды.
Ответ №1:
Для использования UILongPressGestureRecognizer
необходимо установить minimumPressDuration
свойство. Это указывает, как долго ждать, пока ваш распознаватель жестов не будет запущен. Например
UILongPressGestureRecognizer *longPress = [[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)] autorelease];
longPress.minimumPressDuration = 2.0f;
[self.button addGestureRecognizer:longPress];
- (void)longPress:(UILongPressGestureRecognizer*)gesture {
if ( gesture.state == UIGestureRecognizerStateEnded ) {
NSLog(@"Long Press");
}
}