[置顶] 为UITableView添加UISwipeGestureRecognizer手势
2017-08-28 19:43
507 查看
尤其适用于多个cell 之间的切换
addGestureRecognize
//Right Swipe UISwipeGestureRecognizer *gestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandlerRight:)]; [gestureRecognizer setDirection:(UISwipeGestureRecognizerDirectionRight)]; gestureRecognizer.delegate=self; [self.tableView addGestureRecognizer:gestureRecognizer]; //Left Swipe UISwipeGestureRecognizer *gestureRecognizer1 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeHandlerLeft:)]; gestureRecognizer1.delegate=self; [gestureRecognizer1 setDirection:(UISwipeGestureRecognizerDirectionLeft)]; [self.tableView addGestureRecognizer:gestureRecognizer1];
delegate
#pragma mark - ******** UIGestureRecognizerDelegate //当self为UIScrollerView或其子类时,比如为UITableView添加手势时,必须添加此行代码, - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES; } //左右手势时添加 #pragma mark - ******** UITableViewDelegate -(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleNone; }
标题按钮的切换时 ,处理刷新表格数据
-(void)swipeHandlerRight:(UISwipeGestureRecognizer *)sender { //Your ViewController // // UIView *targetview = sender.view; // if(targetview.tag == 1) { // return; // } if (_currentIndex<=0) { return; } _currentIndex--; [_headLineView setCurrentIndex:_currentIndex]; } -(void)swipeHandlerLeft:(UISwipeGestureRecognizer*)sender { // UIView *targetview = sender.view; // if(targetview.tag == 1) { // return; // } // //Your ViewController if (_currentIndex>2) { return; } _currentIndex++; [_headLineView setCurrentIndex:_currentIndex]; }
#pragma mark - ******** headLineDelegate -(void)refreshHeadLine:(NSInteger)currentIndex { _currentIndex=currentIndex; [_tableView reloadData]; }
HeadLineView 标题按钮和下表横线父控件
//传入currentIndex -(void)setCurrentIndex:(NSInteger)CurrentIndex { _CurrentIndex=CurrentIndex;//改变currentIndex [self shuaxinJiemian:_CurrentIndex]; if ([_delegate respondsToSelector:@selector(refreshHeadLine:)]) { [_delegate refreshHeadLine:_CurrentIndex]; } }
相关文章推荐
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效 或者点击UITableView的空白处收起键盘
- UITableView 添加长按手势UILongPressGestureRecognizer
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效