2012-03-01 45 views
4

如何啓動長按檢測後動?使用uilongpressgesturerecognizer進行長時間點擊檢測。 我的代碼:的UITableView重新排序像清除應用

`- (void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    flMoveRow = NO; 
    [self setEditing:YES animated:YES]; 
    [listView reloadData]; 
} 


- (void)longTapGesture:(UILongPressGestureRecognizer *)sender{ 
    if((sender.state != UIGestureRecognizerStateEnded)&&(!flMoveRow)){ 
     NSLog(@"==longTapGesture:"); 
     flMoveRow = YES; 
     [listView beginUpdates]; 
     NSArray *indexPaths = [[NSArray alloc] initWithObjects:indexPath, nil]; 
     [listView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone]; 
     [listView endUpdates]; 
     sender.enabled = NO; 
    return;  
} 

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSLog(@"==canMoveRowAtIndexPath:%i -- %d", indexPath.row, (int)flMoveRow); 
return flMoveRow;}` 

打破觸摸。謝謝。

回答

19

上有cocoacontrols.com可以控制它模仿清除應用。它顯然還在工作,但是當我下載它時,它仍然非常令人印象深刻。您可以將其完全納入到您的應用中,或者將其用作您自己的研究的起點。

link

+0

謝謝!謝謝!謝謝! – icocoadev 2012-03-01 14:52:25

+0

如果有幫助,那麼如果你接受了答案並且/或者給我打了個電話,那就太好了!有一兩件事是肯定SO真實,那就是如果你有一個低的接受率有些人推遲花時間制訂一個爲你解答: -/ – Damo 2012-03-01 15:21:44

10

,除非你想拋出一起從頭開始自己的UITableView +控制器,它要求工作體面的數額不能跟iOS SDK工具做到這一點。我的自定義UITableView類可以爲你處理。 JTGestureBasedTableViewDemo的作品,但有很多其他代碼是不必要的,如果你只是想重新排序功能。隨時查看我的版本:

https://github.com/bvogelzang/BVReorderTableView

+0

好傢伙,這真是太好了!我將把它添加到我的所有應用程序中!謝謝。 – Devfly 2013-03-15 13:14:33

+0

偉大的工作#bvogelzang!非常感謝:) – Pria 2013-10-04 07:02:33

+0

謝謝bvogelzang。我正在處理您的代碼並使其在旋轉(水平)表上工作。 準備好了嗎? – Abhijit 2014-01-30 14:54:41

相關問題