如何在 watchOS 7 上的 SwiftUI 中更改模式表视图中的“取消”按钮文本?

Igo*_* R. 4 ios swift watchkit swiftui

我有两个简单的观点:

import SwiftUI

struct ContentView: View {
    @State private var showingModalView = false
    
    var body: some View {
        Button(action: {
            self.showingModalView.toggle()
        }) {
            Text("Show Modal View")
        }.sheet(isPresented: $showingModalView) {
            ModalView()
        }
    }
}

struct ModalView: View {
    var body: some View {
        Text("Modal View")
    }
}
Run Code Online (Sandbox Code Playgroud)

当“显示模态”按钮按下时,ModalView显示。

如何在活动时将文本“取消”更改ModalView为其他内容?

在此处输入图片说明

Asp*_*eri 6

这个 Cancel 实际上是一个导航栏项。您可以使用工具栏将其替换为自己的按钮,例如

演示1

struct ContentView: View {
    @State private var showingModalView = false

    var body: some View {
        Button(action: {
            self.showingModalView.toggle()
        }) {
            Text("Show Modal View")
        }.sheet(isPresented: $showingModalView) {
            ModalView()
            .toolbar(content: {
                ToolbarItem(placement: .cancellationAction) {
                    Button("Close") { self.showingModalView = false }
                }
            })

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您也可以完全隐藏它(并使您的自定义方法关闭,例如在工作表视图中使用按钮等)

    }.sheet(isPresented: $showingModalView) {
        ModalView()
        .navigationBarHidden(true)
Run Code Online (Sandbox Code Playgroud)