首页 > 解决方案 > SwiftUI:导航栏显示第一个列表项的标题,否则显示“返回”

问题描述

我设置了基本列表和详细视图,如下所示。问题是第一个详细视图显示“< Inbox”作为后退按钮,而其他行显示“< Back”。我已经尝试了各种选项和地方,.navigationBarTitle但没有找到解决这个问题的任何方法。

主/列表视图:

    var body: some View {
        NavigationView {
            List {
                ForEach(userData.message) { messageSection in
                    Section(header: Text(messageSection.id)) {
                             ForEach(messageSection.messages) { message in
                                NavigationLink(destination: MessageDetail(message: message)) {
                                    MessageRow(message: message)
                                }
                             }
                     }
                 }
                }.navigationBarTitle(Text("Inbox"), displayMode: .inline)
        }
    }

详细视图:

    var body: some View {
        ScrollView {
            VStack {
...
            }
        }.navigationBarTitle(Text("\(self.message.title) (\(self.message.preview))"), displayMode: .inline)
    }

标签: iosswiftswiftui

解决方案


当为左栏按钮分配的空间显示标题过长时,系统使用“返回”作为按钮标题。


推荐阅读