【问题标题】:SwiftUI - Dynamic Edit Button on Nav BarSwiftUI - 导航栏上的动态编辑按钮
【发布时间】:2021-04-09 03:08:17
【问题描述】:

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

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

@State var addingItems: Bool = false

...

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

每个按钮在这里单独工作,但 Swift 不会让我像这样混合它们。我收到类型不匹配的错误

Result values in '? :' expression have mismatching types 'Button<Text>' and 'EditButton'

除了编写自定义编辑按钮之外,还有其他方法可以使这项工作发挥作用吗?

谢谢

【问题讨论】:

    标签: swift swiftui swiftui-button


    【解决方案1】:

    如果你只支持 iOS 14+ 没问题,你应该使用工具栏 api

    .toolbar {
     ToolbarItem(placement: .primary) {
        if self.addingItems {
           Button("Done", action: submitItems)
        } else {
           EditButton()
        }
     }
    }
    

    【讨论】:

    • 这很好用,不知道这存在 - 谢谢!
    • navigationBarItems 已弃用并已替换为 . toolbar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多