SwiftUI 将当前 View 中导航栏按钮的文本标题更改为 "Back",而不是继承前一个 View 标题中的文本

标签 swiftui navigationbar

我有一个带有导航链接的 swiftUI View ,当我单击它时将导航到另一个 View 。问题是第二个 View navigationBa 按钮标题仍然具有前一个 View 的标题而不是逻辑后退标题。如何在第一个 View 中将标题更改为“返回”,将标题设置为“返回”。

第一个 View 导航条码:第二个 View 只是在一个WebView中显示新闻网站。

.navigationBarTitle("Breaking News")

我尝试的方法是将标题更改为:

.navigationBarTitle("Back")

这会起作用,但第一个 View 的标题会更改为“返回”而不是“突发新闻” 有什么办法可以解决这个问题

最佳答案

另一种方法是隐藏后退按钮并创建您自己的后退按钮,如下所示:

struct ContentView: View {
    var body: some View {
        NavigationView {
                NavigationLink(destination : SomeView()) {
                    Text("Open")
            }
            .navigationBarTitle("Breaking News")
        }
    }
}

// Use navigationBarItems for creating your own bar item.

struct SomeView : View {
    @Environment(\.presentationMode) var mode
    var body : some View {
        Text("Hello, World!")
            .navigationBarBackButtonHidden(true)
            .navigationBarItems(leading:
            Button(action : {
                self.mode.wrappedValue.dismiss()
            }){
            Text("\(Image(systemName: "chevron.left"))Back")
        })
    }
}

关于SwiftUI 将当前 View 中导航栏按钮的文本标题更改为 "Back",而不是继承前一个 View 标题中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65055721/

相关文章:

SwiftUI - 如何使用按钮然后使用计时器使文本显示

swift - barButtonItem 中 UIKit 的 "pushViewController"的 SwiftUI 的替代方案是什么

css - 如何使用 css 制作此导航栏?

jquery - 单击时 jQuery 动画的问题 - 需要两次 + 错误效果

iOS双导航栏通过设置半透明关闭

安卓导航系统/条形方形按钮

swift - 自定义 "list" View

swift - 计时器 onReceive 在 NavigationView 中不起作用

ios - SwiftUI:.transition 将 ZStack 中的对齐方式从中心更改为顶部?

swift - 如何使用 UIViewControllerRepresentable 在 SwiftUI 中呈现 UICollectionView