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);
}

原文地址:https://www.cnblogs.com/lyz0925/p/8986515.html

时间: 2024-10-10 13:44:47

iOS tableView侧滑删除的第三方控件的相关文章

【Android自定义ViewGroup】不一样的轮子,巧用类变量解决冲突,像IOS那样简单的使用侧滑删除,一个控件搞定Android item侧滑删除菜单。

================================================================================== [1 序言] 侧滑删除的轮子网上有很多,最初在github上看过一个,还是ListView时代,那是一个自定义ListView 实现侧滑删除的,当初就觉得这种做法不是最佳,万一我项目里又同时有自定义ListView的需求,会增加复杂度. 写这篇文章之前又通过毒度搜了一下,排名前几的CSDN文章,都是通过自定义ListVIew和Vie

iOS Tableview侧滑删除和移动cell的实现

慕课网上学习了tableview的使用,突然让我觉得iOS比android简单多了,可能是我的感觉吧.因为android实现list view侧拉删除,动态移动item过程还是稍微有点复杂的.但是iOS却只需要重写几个方法就可以实现了.我只能说iOS太神奇!我就跟着做了一下. 项目地址:Todo 看效果,UI还可以.先上storyboard结构图: navigate controller 实现一个导航栏.view controller 实现一个tableview,tableviewCell .

iOS第三方控件

一.SIAlertView https://github.com/Sumi-Interactive/SIAlertView 感言: 扁平化设计的对话框(UIAlertView),对话框的弹出与消失的动画很不错,可以自定义对话框的外观 iOS第三方控件

iOS开发不借助第三方控件实现侧边栏效果

最近在研究iOS程序的侧边栏,因为发现渐渐的iOS的程序也开始走侧边栏的风格了,QQ,今日头条,Path(Path算最早出现侧边栏的app了,所以也把侧边栏效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有很多侧边栏的控件,这些控件效果也都挺玄的,但是我想找到不用第三方控件自己实现侧边栏呢?后来参照这篇blog,然后自己搞了下,算搞清楚了.下面详细介绍一下吧. 1. 首先我们需要在storyboard里面新建3个view controlle,这里也可以是navigation

iOS开发无第三方控件的援助达到的效果侧边栏

最近的研究iOS程序侧边栏.渐渐的发现iOS该方案还开始采取风侧边栏格该,QQ,今日头条,Path(Path运营商最早的侧边栏app该,效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有非常多側边栏的控件,这些控件效果也都挺玄的.可是我想找到不用第三方控件自己实现側边栏呢?后来參照这篇blog,然后自己搞了下,算搞清楚了.以下具体介绍一下吧. 1. 首先我们须要在storyboard里面新建3个view controlle,这里也能够是navigation controlle

在第三方控件 super Grid 中想要删除选中的行

代码: DialogResult result = MessageBox.Show("确定移除选中词吗?", "移除选中",MessageBoxButtons.YesNo,MessageBoxIcon.Information); if (result == DialogResult.Yes) { SelectedElementCollection grid = SuperGrid.PrimaryGrid.GetSelectedRows(); foreach (Gri

iOS开发项目篇—43子控件的细节处理

iOS开发项目篇—43子控件的细节处理 一.升级UI 把之前的UI图片删除,换上新的图片(图片命名一致,规范)没有其他的影响. 删除之后,添加. 替换之后,做一次clear操作. 建议把沙盒中的包删除,删除之后再做一次clear操作. 二.调整转发(模块) 1.设置背景(使用提供的素材图片进行平铺) 为转发微博部分设置背景,考虑到这个部分整体上是一个UIView,可以尝试以下设置. 第一种尝试: 但是这样设置,因为图片是平铺的,所以整个背景会出现线条效果,影响显示,不可行. 第二种尝试: 注意:

Delphi第三方控件安装卸载指南

基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install; 2.对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可: 3.对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可: 4.如果以上Install按钮为失效的话,试试Compile按钮: 5.是run time lib则在option下的

C#编写第三方控件,实现窗体控件的一键取值

上篇博客中讲到了利用编写第三方控件的方法,实现给窗体控件的Text属性赋值,比如说:TextBox,Combox等.有赋值,当然也有取值操作.从窗体的控件中取值,然后存入变量或者实体属性当中,传入到数据访问层进行添加,更新等操作也是我们经常使用的.如何实现一键取值呢? 使用的方法在上篇博客中已经做了详细说明,这里就不再累述了. 代码写在这里: 该方法的作用是,遍历传入窗体中的控件,并且获取其值赋给实体类的相应属性. /// <summary> /// 从窗体控件取值,填充到学生实体类中 ///