2011-09-03 13 views
5

पर स्वाइप जेश्चर ओवरराइड करें मेरे पास UITableView है। मैंने इस तालिका में एक UIGestureRecognizer जोड़ा है जो एक सेल पर एक स्वाइप की तलाश करता है, और उस तालिका पर संपादन को सक्षम बनाता है यदि यह स्वाइप का पता लगाता है। जब मैं सही स्वाइप करता हूं, तो यह वास्तव में तालिका पर संपादन सक्षम करता है। हालांकि, जब मैं बाएं स्वाइप करता हूं, तो मुझे सेल के दाईं ओर डिफ़ॉल्ट लाल डिलीट बटन दिखाई देता है। मैं इस डिफ़ॉल्ट व्यवहार को कैसे अक्षम कर सकता हूं, और इसे इतना बना सकता हूं कि अगर मैं बाएं या दाएं स्वाइप करता हूं, तो मुझे किसी भी तरह से संपादन मिल जाता है?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]; 

} 

उत्तर

3

बस UITableViewCellEditingStyleNone वापस लौटकर अपना tableView:editingStyleForRowAtIndexPath: विधि में।

+0

यह मैं के लिए क्या देख रहा था है, धन्यवाद :) – bitmoe

3

UISwipeGestureRecognizer पर एक दिशा संपत्ति है। आप दोनों दाएं और बाएं स्वाइप करने के लिए है कि सेट कर सकते हैं:

recognizer.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft; 
+0

मैं – bitmoe

+1

तुम देखो जहां डाल 'UIGestureRecognizer * recognizer' ... करने के लिए' UISwipeGestureRecognizer * recognizer' –

+0

धन्यवाद कि बदलें "प्रकार UIGestureRecognizer का नहीं मिला दिशा", यह अब काम करता है – bitmoe

0

मैं इस समस्या को हल करने के लिए एक और तरीका उपयोग कर रहा हूं।

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]; 

मैं tableViewGestures NSArray हो गया और, मैं सिर्फ दिशा again.It के easy.Right निर्धारित करने की आवश्यकता का उपयोग है.अगर मैं चाहता हूँ SwipeGestureRecognizerDirectionRigth रीसेट करें?