ios - 不同 UI 元素的 SwiftUI 列表 - 失败

标签 ios swift swiftui

我试图呈现一个列表,其中第一项是 NavigationLink,因为它的配置需要定义一些额外的选项。所有其他操作都可以在没有特殊参数的情况下运行。

(代码稍微精简):

let operations = ["start", "stop", "set_marker", "save_map", "get_status"]    

NavigationView {
    VStack {
        Form {
            Section(header: Text("Header")) {
                List(operations, id: \.self) { operation in
                    if operation == "start" {
                        NavigationLink(destination: DetailView(operation: operation)) {
                            Text(operation.uppercased())
                        }
                    } else {
                        Button(action: {
                            switch operation {
                            case "stop":
                                break
                            default:
                                break
                            }            
                        }) {
                            Text(operation.uppercased()).foregroundColor(.black)
                        }
                    }
                }
            }
        }
    }
}

这个东西编译得很好并且显示也很好。在运行时,我可以单击所有“普通按钮”并且它可以工作。对于“开始”条目,我只能打开第二个窗口一次。返回后“开始”按钮不再有反应。有什么想法吗?

enter image description here

最佳答案

无视。似乎仅在模拟器和预览版中存在问题。

关于ios - 不同 UI 元素的 SwiftUI 列表 - 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687710/

相关文章:

ios - 如果核心数据设置为与原来相同的值,是否认为该值已更改?

variables - 值更改时,如何更新 UIKit 中的 SwiftUI View ?

swift - 当 WidgetCenter.shared.reloadAllTimelines() 被调用时,WidgetKit 不会从核心数据中获取更新的数据

ios - 网络调用后如何将所有图像附加到该数组?

ios - 我正在尝试使用 xCode 4.4 构建存档应用程序,但出现此错误

ios - iPad - 从前置摄像头拍照并识别驾照

ios - SwiftUI 中的 Gridview

ios - 在 Swift 中选择“继续”按钮时检查 TableView 中是否有空行

json - 无法获取路径 Swift Playground 错误的沙箱扩展

swift - 协议(protocol)间接实现另一个协议(protocol)不止一次