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

2022-08-02,,,,

功能需求

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

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

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

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

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

即:

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

功能分析

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

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

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

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

下载本文的Word格式文档,以方便收藏与打印。