UITableView左滑删除样式自定义

    本文针对UITableView左滑删除的样式进行一个简要的应用描述,对于iOS开发者来说,系统原生提供的策划删除样式相对较为单一,往往产品设计上来策划删除的样式都会带有相应的设计特征,tableView系统自带的侧滑样式应用起来就相对比较局限,为了满足不同的产品设计要求,我们必须根据需求设计自定义侧滑删除按钮。

    我们先来看看系统默认自带的侧滑删除样式:

UITableView左滑删除样式自定义_第1张图片
系统默认效果图

1.如果高保真效果图要求的是如下左滑删除按钮样式:

UITableView左滑删除样式自定义_第2张图片
自定义删除样式1

对于这样的左滑删除样式,我们采用系统默认的则不能满足设计需求,为了能和高保真样式保持一致,我们将在基于系统的删除样式基础上进行重新定制化,在此采用的方式如下:

在自定义的UITableViewCell中重写- (void)layoutSubviews方法如下所示:

UITableView左滑删除样式自定义_第3张图片

其中实现自定义的删除样式的方法- (void)setDeleteButtonStyle如下所示:

UITableView左滑删除样式自定义_第4张图片

我们在tableView的点击删除的代理方法里边遍历cell的子视图,会发现有个UITableViewCellDeleteConfirmationView的视图。其中在未进行左滑时,系统中是找不到UITableViewCellDeleteConfirmationView此类的,只有在进行左滑删除操作时系统才将UITableViewCellDeleteConfirmationView类加上,因此在定制化自己想要的删除样式时,我们是通过找到UITableViewCellDeleteConfirmationView的subview对象进行样式修改。

2.根据自定义删除样式1,同理我们自定义样式以下删除样式:

UITableView左滑删除样式自定义_第5张图片
自定义删除样式2

根据样式1的实现方式,实现- (void)setDeleteButtonStyle方法如下:

UITableView左滑删除样式自定义_第6张图片

    以上仅仅举例了两种不同的UITableView左滑时自定义删除样式,其实现方式都是基于对UITableViewCellDeleteConfirmationView视图的样式处理。希望对在项目中遇到类似的情况的开发者们有所帮助。

你可能感兴趣的:(UITableView左滑删除样式自定义)