简单方法实现 uitableviewcell 左滑出现各种自定义功能视图

一 先继承 tableviewcell


二添加左滑右滑

    UISwipeGestureRecognizer *swipeLeft=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeCell:)];

    swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft;

    [self addGestureRecognizer:swipeLeft];

    

    UISwipeGestureRecognizer *swipeRight=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeCell:)];

    swipeRight.direction=UISwipeGestureRecognizerDirectionRight;

    [self addGestureRecognizer:swipeRight];



三 实现左滑右滑功能

if (swipe.direction==UISwipeGestureRecognizerDirectionLeft) {

      __block CGPoint point=self.contentView.center;

        if (point.x>=(self.frame.size.width-self.swiftLeftLength)) {

            [self stepLeftView];

            [UIView animateWithDuration:0.15 animations:^{

                

                point.x=point.x-self.swiftLeftLength;

                self.contentView.center=point;

                

                UIView *leftView=[self viewWithTag:505];

                CGRect frame=leftView.frame;

                frame.origin.x=self.frame.size.width-self.swiftLeftLength;

                leftView.frame=frame;

            } completion:^(BOOL finished) {

                

            }];

            

            

        }

  

    }else if (swipe.direction==UISwipeGestureRecognizerDirectionRight){

      __block  CGPoint point=self.contentView.center;

        if (point.x<(self.frame.size.width-self.swiftLeftLength)) {

            

            [UIView animateWithDuration:0.15  animations:^{

                point.x=point.x+self.swiftLeftLength;

                self.contentView.center=point;

                

                UIView *leftView=[self viewWithTag:505];

                CGRect frame=leftView.frame;

                frame.origin.x=self.frame.size.width;

                leftView.frame=frame;

                

            } completion:^(BOOL finished) {

                

                [self removeLeftView];

                

            }]; 

        } 

    }



四添加左滑出来的视图

-(void)stepLeftView{

    UIView *leftView=[[UIView alloc] initWithFrame:CGRectMake(self.frame.size.width, 0, self.swiftLeftLength, self.frame.size.height)];

    leftView.tag=505;

    [leftView addSubview:self.leftContentView];

    [self addSubview:leftView];

}


五 解决cell重用机制导致的问题

- (void)prepareForReuse {

    [super prepareForReuse];

    [self reset];

}

简单方法实现 uitableviewcell 左滑出现各种自定义功能视图_第1张图片


demo 下载 http://download.csdn.net/detail/wjszf/7733277

你可能感兴趣的:(IOS)