荐 SwiftUI如何进入List编辑模式以及如何指定某些Cell不可删除
程序员文章站
2022-03-04 14:40:57
功能需求在SwiftUI中我们常用List来显示项目,而一个很常见的功能就是在List中删除指定项目所在的行。在 SwiftUI如何动态开启和禁用List的删除模式 这篇博文里,我们谈到了如何全局动态开启或关闭List的删除模式。但是如果我们只允许删除指定的项目呢?即某些行可以删除,而另一些行却禁止删除。另外在UIKit编程中,我们可以开启UITableView的编辑模式,那么在SwiftUI中我们也可以这样做么?答案是肯定的,下图演示了我们要实现的这2个功能:即:一键进入编辑模......
功能需求
在SwiftUI中我们常用List来显示项目,而一个很常见的功能就是在List中删除指定项目所在的行。
在 SwiftUI如何动态开启和禁用List的删除模式 这篇博文里,我们谈到了如何全局动态开启或关闭List的删除模式。
但是如果我们只允许删除指定的项目呢?即某些行可以删除,而另一些行却禁止删除。
另外在UIKit编程中,我们可以开启UITableView的编辑模式,那么在SwiftUI中我们也可以进入List的编辑模式么?
答案是肯定的,下图演示了我们要实现的2个功能:
即:
- 一键进入编辑模式
- 只允许指定的行(偶数行)被删除
功能分析
1. 如何让List中某些行可以被删除(并且禁止其它行被删除)
因为ForEach的onDelete方法的实参可以传入nil,从而实现禁用删除;聪明的你一定想到根据条件向其传递nil值, 从而禁用或启用某一行的删除。
因
本文地址:https://blog.csdn.net/mydo/article/details/107377816