简单方法实现 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];

}



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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值