在navigationBarTitle中添加视图-SwiftUI

时间:2020-02-05 04:51:47

标签: ios swiftui swiftui-navigationlink

我能够使用.navigationBarTitle(Text((msgDetails.name)))添加标题,但我想在导航栏中的标题下方添加字幕。看起来标题将不接受视图,而仅接受文本。我在标题中尝试了\ n,但无法正常工作。有什么办法可以在导航栏中添加字幕。我使用前导和尾随在导航栏中添加了左右按钮。我想显示标题和副标题以及此左右按钮

Navigation Bar

1 个答案:

答案 0 :(得分:2)

如果您查看SwiftUI documentation,则只会看到navigationBarTitle函数的一些重载。它们都需要特殊的参数,例如TextStringProtocol。因此,您不能只将一些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

                })
        }


    }

}

您将实现以下目标:

enter image description here