1

我可以使用 .navigationBarTitle(Text((msgDetails.name))) 添加标题,但我想在导航栏中的标题下添加副标题。看起来标题不会接受视图,它只接受文本。我在标题中尝试了 \n 但它不起作用。有什么办法可以在导航栏中添加字幕。我使用前导和尾随在导航栏中添加左右按钮。我想显示标题和副标题以及这个左右按钮

导航栏

4

1 回答 1

2

如果您查看,SwiftUI documentation您只会看到一些navigationBarTitle功能重载。所有这些都需要特殊参数,例如Textor StringProtocol。所以你不能只把一些View放到导航栏中。

我可以提出一个奇怪但有效的版本。它是关于使用的.navigationBarItems(leading:...- 它需要一些视图,您可以自定义(在合理范围内)。这是一个简单的例子:

struct ContentView: View {

    var body: some View {

        NavigationView {
            Text("Main view")
                .navigationBarItems(leading:
                    HStack {

                        Button(action: {}) {
                            Image(systemName: "return")
                        }

                        VStack {
                            Text("Title")
                                .bold()
                                .font(.system(size: 30))

                            Text("Subtitle")
                                .italic()
                                .font(.system(size: 15))

                        }
                        .padding(.horizontal, 100) // mb it's better to use GeometryReader for centering

                })
        }


    }

}

你会得到这样的结果:

在此处输入图像描述

于 2020-02-05T08:32:18.603 回答