Обнаружить долгое нажатие в UIScrollView - PullRequest
4 голосов
/ 06 апреля 2010

Как бы я обнаружил длинное нажатие (нажмите и удерживайте) в UIScrollView?

Ответы [ 2 ]

9 голосов
/ 06 апреля 2010

В представлении touchesBegan: вы можете вызвать свой дескриптор "длинного нажатия" с некоторой задержкой.

[touchHandler performSelector:@selector(longTap:) withObject:nil afterDelay:1.5];

Затем в представлении touchesEnded: вы можете отменить этот вызов, если прошло недостаточно времени:

[NSObject cancelPreviousPerformRequestsWithTarget:touchHandler selector:@selector(longTap:) object:nil];
2 голосов
/ 04 июня 2011
//Add  gesture to a method where the view is being created. In this example long tap is added to tile (a subclass of UIView):

    // Add long tap for the main tiles
    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTap:)];
    [tile addGestureRecognizer:longPressGesture];
    [longPressGesture release];

-(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{
    NSLog(@"gestureRecognizer= %@",gestureRecognizer);
    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
        NSLog(@"longTap began");

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...