uitableviewcell的左右滑动手势

有时候在项目中需要自定义tableviewcell的左右滑动手势,一种方式是对cell进行添加手势,另一种可以直接对tableview进行添加就可以了,个人比较喜欢对tableview添加手势,代码如下:

-(void)initListView{

    
    CGRect rect=CGRectMake(10, 120, ScreenWidth-20, ScreenHeight-190);
    self.tableList=[[UITableView alloc]initWithFrame:rect
                                               style:UITableViewStylePlain];
    
    self.tableList.backgroundColor=color_grbw(255.0, 255.0, 255.0, 0.1);
    self.tableList.layer.borderColor=[color_grbw(255.0, 255.0, 255.0, 0.3) CGColor];
    self.tableList.layer.borderWidth=1;
    self.tableList.layer.cornerRadius=4;
    self.tableList.delegate=self;
    self.tableList.dataSource=self;
    [self.view addSubview:self.tableList];
    /*
    //左右滑动
    UISwipeGestureRecognizer *swipeGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeGesture:)];
    [self.tableList addGestureRecognizer:swipeGesture];
    [swipeGesture release];
    
    //左划
    UISwipeGestureRecognizer *swipeLeftGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeGesture:)];
    swipeGesture.direction=UISwipeGestureRecognizerDirectionLeft;
    [self.tableList addGestureRecognizer:swipeLeftGesture];
    [swipeLeftGesture release];
    */
    [self.tableList release];

}


//划动手势
-(void)handleSwipeGesture:(UIGestureRecognizer*)sender{
    
    CGPoint point = [sender locationInView:self.tableList];
    NSIndexPath *index = [self.tableList indexPathForRowAtPoint:point];
    HomeCell *cell=(HomeCell *)[self.tableList cellForRowAtIndexPath:index];
    
    UISwipeGestureRecognizerDirection direction=[(UISwipeGestureRecognizer*) sender direction];
    //判断是上下左右
    switch (direction) {
        case UISwipeGestureRecognizerDirectionLeft:
            NSLog(@"left");
            cell.icon.frame=CGRectMake(10, 7, 23, 35);
            break;
        case UISwipeGestureRecognizerDirectionRight:
            NSLog(@"right");
            cell.icon.frame=CGRectMake(100, 7, 23, 35);
            break;
        default:
            break;
    }
}

你可能感兴趣的:(object-c)