سؤال

I'm trying to add swipe left recognition to the table headers only. Doesn't seem to work- tried everything found on stackoverflow and web. Works fine on the actual table cells, but when adding it to the table headers... nothing.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

{ SnapSong *song = nil;
NSString *text = song.title; NSString *detailedText = song.albumName;

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 80)];
view.backgroundColor = [[Globals sharedInstance] gCellBgColor];
view.tag = section;
UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                                                 action:@selector(handleSwipeLeft:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[view addGestureRecognizer:recognizer];

return view;

}

It just wouldn't swipe, I've tried adding gesture to the table etc...

Thanks for the help

هل كانت مفيدة؟

المحلول

Ok, got the fricking thing working, this what did the trick

 UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                                                 action:@selector(handleSwipeLeft:)];
**[recognizer setDelegate:self];**
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[view addGestureRecognizer:recognizer];

and had to add 2 functions:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

{ return YES; }

  • (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { return YES; }

And of course in the .h file add the delegate

@interface TableViewController : UIViewController<UIGestureRecognizerDelegate>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top