欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 SwiftUI如何进入List编辑模式以及如何指定某些Cell不可删除

程序员文章站 2022-03-04 14:40:57
功能需求在SwiftUI中我们常用List来显示项目,而一个很常见的功能就是在List中删除指定项目所在的行。在 SwiftUI如何动态开启和禁用List的删除模式 这篇博文里,我们谈到了如何全局动态开启或关闭List的删除模式。但是如果我们只允许删除指定的项目呢?即某些行可以删除,而另一些行却禁止删除。另外在UIKit编程中,我们可以开启UITableView的编辑模式,那么在SwiftUI中我们也可以这样做么?答案是肯定的,下图演示了我们要实现的这2个功能:即:一键进入编辑模......

荐
                                                        SwiftUI如何进入List编辑模式以及如何指定某些Cell不可删除



功能需求

在SwiftUI中我们常用List来显示项目,而一个很常见的功能就是在List中删除指定项目所在的行。

SwiftUI如何动态开启和禁用List的删除模式 这篇博文里,我们谈到了如何全局动态开启或关闭List的删除模式。

但是如果我们只允许删除指定的项目呢?即某些行可以删除,而另一些行却禁止删除。

另外在UIKit编程中,我们可以开启UITableView的编辑模式,那么在SwiftUI中我们也可以进入List的编辑模式么?

答案是肯定的,下图演示了我们要实现的2个功能:


荐
                                                        SwiftUI如何进入List编辑模式以及如何指定某些Cell不可删除

即:

  1. 一键进入编辑模式
  2. 只允许指定的行(偶数行)被删除


功能分析

1. 如何让List中某些行可以被删除(并且禁止其它行被删除)

因为ForEach的onDelete方法的实参可以传入nil,从而实现禁用删除;聪明的你一定想到根据条件向其传递nil值, 从而禁用或启用某一行的删除。

本文地址:https://blog.csdn.net/mydo/article/details/107377816