我正在创建单个选择列表以在我的应用程序的不同位置使用。
问题:
有没有我不知道的简单解决方案?
如果没有,我该如何完成当前的解决方案?
我的目标:
我当前的解决方案如下: 选择第二项的列表视图
我不能使用 Picker,因为外部操作(目标 3)很耗时。所以我认为它不会顺利进行。很可能在 SwiftUI 中有我的问题的解决方案,但是我错过了它,因为我是 swift 的新手,或者我理解并不是所有的东西都在 SwiftUI 中完美运行,例如:List 的透明背景(这就是为什么我需要清除init() 中的背景)。
所以我开始自己实现选择,并在此处停止:单击 item(Button) 时,我当前的解决方案不会更新视图。(只有出去和回到页面更新视图)。并且仍然可以选择多个项目。
import SwiftUI
struct ModuleList: View {
var modules: [Module] = []
@Binding var selectionKeeper: Int
var Action: () -> Void
init(list: [Module], selection: Binding<Int>, action: @escaping () -> Void) {
UITableView.appearance().backgroundColor = .clear
self.modules = list
self._selectionKeeper = selection
self.Action = action
}
var body: some View {
List(){
ForEach(0..<modules.count) { …Run Code Online (Sandbox Code Playgroud)