Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 快捷界面-导航栏上的动态编辑按钮_Swift_Swiftui_Swiftui Button - Fatal编程技术网

Swift 快捷界面-导航栏上的动态编辑按钮

Swift 快捷界面-导航栏上的动态编辑按钮,swift,swiftui,swiftui-button,Swift,Swiftui,Swiftui Button,我是Swift/SwiftUI的新手-我正在开发一个简单的待办事项列表应用程序,并尝试制作一个导航栏按钮,该按钮根据状态变量从内置的编辑按钮更改为自定义按钮 我尝试使用如下的三元运算符 @State var addingItems: Bool = false ... }.navigationBarItems(trailing: self.addingItems ? Button("Done", action: submitItems) : EditButton())

我是Swift/SwiftUI的新手-我正在开发一个简单的待办事项列表应用程序,并尝试制作一个导航栏按钮,该按钮根据状态变量从内置的编辑按钮更改为自定义按钮

我尝试使用如下的三元运算符

@State var addingItems: Bool = false

...

}.navigationBarItems(trailing: self.addingItems ? Button("Done", action: submitItems) : EditButton())

每个按钮在这里单独工作,但斯威夫特不会让我这样混合它们。我得到一个不匹配的类型错误

“?:”中的结果值表达式具有不匹配的类型“Button”和“EditButton”

除了编写自定义编辑按钮外,还有其他方法可以实现这一点吗


谢谢

如果您只支持iOS 14+就可以了,那么您应该使用工具栏api

工具栏{
工具栏项(位置:。主){
if self.addingItems{
按钮(“完成”,操作:submitItems)
}否则{
编辑按钮()
}
}
}

这很好用,我不知道它存在-谢谢
navigationBarItems
已被弃用,并已替换为
。工具栏