zoukankan      html  css  js  c++  java
  • iOS tableView侧滑删除的第三方控件

    (到我的文件中,下载“tableview中cell测滑删除的第三方控件”),使用方法如下:

    在tableView中的.m中,设置cell的方法上,事例代码如下,其中,EaseConversationCell继承于LYSideslipCell

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        NSString *CellIdentifier = [EaseConversationCell cellIdentifierWithModel:nil];
        EaseConversationCell *cell = (EaseConversationCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[EaseConversationCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        cell.consultModel = self.dataArray[indexPath.section];
      //添加侧滑之后的按钮 KDButton
    *deleteBtn = [cell rowActionWithStyle:LYSideslipCellActionStyleNormal title:nil]; deleteBtn.index = indexPath.row; deleteBtn.section = indexPath.section; deleteBtn.backgroundColor =[UIColor redColor]; [deleteBtn setBackgroundImage:kUIImage(@"delete") forState:UIControlStateNormal]; [deleteBtn addTarget:self action:@selector(deleteBtn:) forControlEvents:UIControlEventTouchUpInside]; [cell setRightButtons:@[deleteBtn]];//可以传多个 cell.selectionStyle = UITableViewCellSelectionStyleNone; return cell; }

    效果图如下:

    (参考代码:美业B端-MYBConsultViewController.m)

    其中,这个控件的好处是,可以监听到cell侧滑时的动作,比如需要在侧滑后改变cell的颜色,这个控件就可以实现到,在LYSideslipCell.m中:监控如下这两个方法即可:

    - (void)hiddenSideslipButton {
        //侧滑恢复后的操作
        if (_containLeftConstraint.constant == 0) return;
        
        [self closeAllOperation];
        _containLeftConstraint.constant = _sideslipLeftConstraint.constant = 0;
        [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
            [self layoutIfNeeded];
        } completion:^(BOOL finished) {
            [self openAllOperation];
        }];
        _backGroundView.backgroundColor = UIColorFromRGB(0xF7F7F7);
        _backGroundView.frame = CGRectMake(10, 0, kScreenW - 20, 85);
    }
    
    - (void)showSideslipButton {
       //侧滑后的操作
        [self closeAllOperation];
        _containLeftConstraint.constant = _sideslipLeftConstraint.constant = -CGRectGetWidth(_sideslipView.frame);
        [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
            [self layoutIfNeeded];
        } completion:^(BOOL finished) {
            for (LYSideslipCell *cell in self.tableView.visibleCells)
                if ([cell isKindOfClass:LYSideslipCell.class]) {
                    cell.userInteractionEnabled = YES;
                }
        }];
        _backGroundView.backgroundColor = UIColorFromRGB(0xE7F8FF);
        _backGroundView.frame = CGRectMake(10, 0, kScreenW - 10, 85);
    }

  • 相关阅读:
    DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
    将BYTE[]中的字符的16进制形式作为字符串存入CString对象并返回
    VC调用存储过程的通用方法(ORACLE篇)
    Oracle中插入Date数据
    Oracle 存储过程返回结果集怎么这么费劲?
    从字符串中提取BCD码,转换为UINT数据并返回
    Know more about AWR Parse Statistics
    Slide:了解Oracle在线重定义online redefinition
    11gR2新特性:LMHB Lock Manager Heart Beat后台进程
    利用Oracle在线重定义Online Redefinition清理历史数据
  • 原文地址:https://www.cnblogs.com/lyz0925/p/8986515.html
Copyright © 2011-2022 走看看