2011-09-03 36 views
5

Üzerinde kaydırma hareketini geçersiz kıl UITableView var. Bu tabloya, bir hücre üzerinde hızlıca kaydırılan bir UIGestureRecognizer ekledim ve bir kaydırmayı algıladığında bu tablo üzerinde düzenleme yapılmasını sağlar. Doğru kaydırdığımda, gerçekten de tablo üzerinde düzenleme yapılmasını sağlar. Ancak, sola kaydırdığımda, hücrenin sağ tarafında varsayılan kırmızı sil düğmesi görünür. Bu varsayılan davranışı nasıl devre dışı bırakabilirim ve sola VEYA sola kaydırırsam her iki yönde düzenleme yapmamı nasıl sağlayabilirim?UITableView

- (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer { 
    foldersTable.editing=YES; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIGestureRecognizer *recognizer; 
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; 
    [foldersTable addGestureRecognizer:recognizer]; 
    [recognizer release]; 

} 

cevap

3

Sadece tableView:editingStyleForRowAtIndexPath: yönteminde UITableViewCellEditingStyleNone döndürür.

+0

şimdi çalışıyor, Teşekkürler :) – bitmoe

3

UISwipeGestureRecognizer üzerinde bir yön özelliği vardır. Sen sağ ve sol kaydırma hareketiyle hem o ayarlayabilirsiniz:

recognizer.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft; 
+0

Ben – bitmoe

+1

Sen UIGestureRecognizer * recognizer' ... UISwipeGestureRecognizer * –

+0

Teşekkür recognizer' 'o değiştirin' koymak nerede olduğunu görmek "tipi UIGestureRecognizer ait bulunamadı yönünü" olsun, bu Bu aradığım buydu – bitmoe

0

Bu sorunu çözmek için başka bir yöntem kullanıyorum.

NSMutableArray *tableViewGestures = [[NSMutableArray alloc]initWithArray:[self.tableView gestureRecognizers]]; 
[[tableViewGestures objectAtIndex:2] setDirection:UISwipeGestureRecognizerDirectionLeft]; 
NSLog(@"directions %@" , [tableViewGestures objectAtIndex:2]); 

NSArray *newTableViewGestures = [[NSArray alloc]initWithArray:tableViewGestures]; 
[self.tableView setGestureRecognizers:newTableViewGestures]; 

Ben tableViewGestures NSArray var ve ben sadece yön again.It en easy.Right ayarlamanız gerekir it.If İstiyorum SwipeGestureRecognizerDirectionRigth kullanmak sıfırlamak?