2011-01-18 2 views
2

В моем приложении я показываю таблицу с различными элементами, если пользователь нажимает на tableviewcell, а подробное представление попадает в блок навигации. Теперь я хочу предоставить пользователю возможность «долгое нажатие» на tableviewcell, чтобы отобразить предупреждение, показывающее пользователю различные параметры, которые могут быть применены к указанному tableviewcell (информация электронной почты другу, распечатать его, добавить в закладок и т. д.)Как определить «длинный поступок» на UITableViewCell

Как я могу реализовать распознаватель жестов «длинный кран» на UITableViewCell ??

спасибо за вашу помощь

ответ

7

Вы смотрели на UILongPressGestureRecognizer? См: http://developer.apple.com/library/ios/#documentation/uikit/reference/UILongPressGestureRecognizer_Class/Reference/Reference.html%23//apple_ref/occ/cl/UILongPressGestureRecognizer

Вы могли бы хотеть рассмотреть салфетки жест, как показано в приложении Twitter вместо этого, хотя: я не думаю, что долгое нажатие на ячейку таблицы будет очень интуитивным использовать или ожидаемый пользователем , Только мои 2 цента.

  • Johannes
+0

Это хороший. но не подходит для uitableviewcells. Можно ли отобразить (nslog) tableindex на longpressevent? Я не могу работать с этим жестом с uitableviewcells. – dinesh

3

на ощупь вниз, вы бы использовать таймер, чтобы выстрелить вызов метода в X количество секунд (как никогда долго вы хотите долго сенсорный быть). Затем, если они отпускают до этого времени, вы отменяете таймер:

-(void) startSingleTouch:(UITouch*)touch 
{ 
tapTouch = touch; 
tapTimer = [[NSTimer scheduledTimerWithTimeInterval:tapDelay target:self selector:@selector(singleTapGestureSucceeded) userInfo:nil repeats:NO] retain]; 
} 

-(void) cancelSingleTouch 
{ 
if(tapTimer) 
{ 
    [tapTimer invalidate]; 
    [tapTimer release]; 
} 

tapTouch = nil; 
tapTimer = nil; 
} 
Смежные вопросы