IOS uitableviewcell 左滑 自定義

一 先繼承 tableviewcell


二添加左滑右滑


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

    swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft;

    [self addGestureRecognizer:swipeLeft];

    

    UISwipeGestureRecognizer *swipeRight=[[UISwipeGestureRecognizer alloc] initWithTarget:selfaction:@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

wKioL1PllyOxMuQJAAETVanaILk059.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章