NavigationLink 目的地上的 SwiftUI NavigationTitle

Posted

技术标签:

【中文标题】NavigationLink 目的地上的 SwiftUI NavigationTitle【英文标题】:SwiftUI NavigationTitle on NavigationLink destination 【发布时间】:2021-10-24 00:51:00 【问题描述】:

如何向 NavigationLink 的目的地添加类似导航的标题?

请注意,代码不是我的;它来自 Hacking With Swift 的网站。

主导航视图的屏幕截图

如何将与第一个屏幕截图中的标题相似的标题添加到第二个屏幕截图中的目标链接?最好这个标题与后退按钮水平相邻。

代码:

struct ContentView: View 
    var body: some View 
        NavigationView 
            VStack(spacing: 30) 
                Text("You're going to flip a coin – do you want to choose heads or tails?")

                NavigationLink(destination: ResultView(choice: "Heads")) 
                    Text("Choose Heads")
                

                NavigationLink(destination: ResultView(choice: "Tails")) 
                    Text("Choose Tails")
                
            
            .navigationTitle("Navigation")
        
    


struct ResultView: View 
    var choice: String

    var body: some View 
        Text("You chose \(choice)")
    

【问题讨论】:

【参考方案1】:

只需将其附加到Text(或body 内的任何最顶层视图)即可。

struct ResultView: View 
    var choice: String

    var body: some View 
        Text("You chose \(choice)")
            .navigationTitle("Your Title Here")
            .navigationBarTitleDisplayMode(.inline) /// make it horizontally adjacent
    

结果:

【讨论】:

以上是关于NavigationLink 目的地上的 SwiftUI NavigationTitle的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:NavigationView/NavigationLink:启动并推送目的地?

SwiftUI 上的 NavigationLink 两次推送视图

根据条件显示 NavigationLink 并在目的地内编辑值

当目的地的必需参数来自可选状态变量时的 NavigationLink

SwiftUI:NavigationLink 内的水平 ScrollView 会中断导航

如何在 Xcode 中一次在多个目的地上“构建和运行”?