SwiftUI如何動態開啓和禁用List的刪除模式

在這裏插入圖片描述



功能需求

在大多數內容管理App中,我們需要完成數據項的刪除操作,可是有時候我們還需要按條件動態禁止用戶的刪除操作。

如下圖所示:

在這裏插入圖片描述

在List的任意子View中,若用戶點擊紅色的選項按鈕展開選項面板,則禁止用戶刪除任何子View,只有全部子View中選項面板收起後,才允許用戶進行刪除操作。

這樣做的原因是在選項面板中有一個Slider控件,向左拖動它的把手可能會觸發不該發生的刪除操作,在禁用了刪除操作後,就可以避免發生該問題了。



功能分析

1. SwiftUI如何實現List中子View的刪除操作?

寫過SwiftUI中動態生成列表代碼的朋友都知道,在List中嵌入ForEach語句塊後,就可以添加onDelete修改器,從而完成刪除List中子視圖的功能:

List {
	ForEach
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章