美文网首页iOS 开发每天分享优质文章
UITableView如何实现左滑删除功能?

UITableView如何实现左滑删除功能?

作者: IMKel | 来源:发表于2016-11-13 21:15 被阅读1409次

UITableView如何实现左滑删除功能?

  • 步骤如下:

  • 1.实现UITableView数据源代理中的一个方法即可。方法名称:- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;

  • 2.示例代码如下:

// 1.只要实现这个方法,就会拥有左滑删除功能 2.点击"左滑出现的按钮"会调用这个方法
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 修改模型
    [self.modeArray removeObjectAtIndex:indexPath.row];
    // 刷新表格
    [self.shoppingCartTV deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
}

拓展

  • 单纯的实现上面一个方法实现左滑删除功能,对于我们开发者来说,往往是不够的,很多时候我们需要自定义删除按钮的样式,例如:文字、背景图片等。

  • 自定义删除按钮,示例代码如下:

    • 注意:自定义删除按钮,首先需要先自定义UITabelViewCell,然后再自定义的cell类内部重写layoutSubview:方法
#pragma mark - layoutSubview
- (void)layoutSubviews
{
    [super layoutSubviews];
    
    for (UIView *subView in self.subviews) {
        
        if ([subView isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")]) {
            // 当遍历到存放删除按钮的控件时进来
            for (UIButton *btn in subView.subviews) {
                // btn的类型是_UITableViewCellActionButton类型,我们只需要把它当UIButton看待就好了
                if ([btn isKindOfClass:[UIButton class]]) {
                    // 当遍历到删除按钮时进来
                    if (btn) {
                        [btn setTitle:@"" forState:UIControlStateNormal];
                        [btn setImage:[UIImage imageNamed:@"shanchu"] forState:UIControlStateNormal];
                        [btn sizeToFit];
                        btn.frame = CGRectMake(0, 0, btn.frame.size.width, subView.gfk_height);
                        btn.backgroundColor=[UIColor colorWithHexString:@"#0D588A"];
                    }
                }
            }
        }
    }
}

相关文章

  • UITableView如何实现左滑删除功能?

    UITableView如何实现左滑删除功能? 步骤如下: 1.实现UITableView数据源代理中的一个方法即可...

  • iOS系统左滑删除

    前言 整理一下UITableview的cell左滑删除的注意点,实现一个简单的左滑删除功能。整理的过程也是一个回归...

  • UITableView的编辑模式

    实现UITableView简单的删除功能(左滑出现删除按钮) 首先UITableView需要进入编辑模式。实现下面...

  • iOS JXPagerView或JXCategoryView和U

    最近有一个需求,在JXPagerView的子控制器里的一个UITableView需要左滑删除功能,正常来说左滑删除...

  • PZSwipedCollectionViewCell: UIC

    UICollectionView 和 UITableView 不同,里面没有左滑删除功能。趁着休息,搭了一个库,给...

  • iOS UITableView左滑删除功能

    一、概述 UITbableView作为列表展示信息,除了展示的功能,有时会用到删除的功能,比如购物车,视频收藏等。...

  • UITableView 的cell左滑删除

    UITableView 的cell左滑删除 注:第一个tableView是两个分组的。上述两个代理方法即可实现左滑...

  • iOS 11 侧滑删除cell

    #pragma mark 左滑删除 -(BOOL)tableView:(UITableView *)tableVi...

  • UITabelView侧滑删除

    原文链接UITableView的代理方法中已经集成了侧滑删除的功能,只要实现以下的方法就能增加侧滑删除

  • iOS UITableView侧滑删除

    UITableView的代理方法中已经集成了侧滑删除的功能,只要实现以下的方法就能增加侧滑删除 注意:一定是先删除...

网友评论

    本文标题:UITableView如何实现左滑删除功能?

    本文链接:https://www.haomeiwen.com/subject/zzicpttx.html