【发布时间】:2020-02-05 04:51:47
【问题描述】:
我可以使用 .navigationBarTitle(Text((msgDetails.name))) 添加标题,但我想在导航栏中的标题下添加副标题。看起来标题不会接受视图,它只接受文本。我在标题中尝试了 \n 但它不起作用。有什么办法可以在导航栏中添加字幕。我使用前导和尾随在导航栏中添加左右按钮。我想显示标题和副标题以及这个左右按钮
【问题讨论】:
标签: ios swiftui swiftui-navigationlink
我可以使用 .navigationBarTitle(Text((msgDetails.name))) 添加标题,但我想在导航栏中的标题下添加副标题。看起来标题不会接受视图,它只接受文本。我在标题中尝试了 \n 但它不起作用。有什么办法可以在导航栏中添加字幕。我使用前导和尾随在导航栏中添加左右按钮。我想显示标题和副标题以及这个左右按钮
【问题讨论】:
标签: ios swiftui swiftui-navigationlink
如果您查看SwiftUI documentation,您只会看到navigationBarTitle 函数的一些重载。它们都需要特殊参数,例如Text 或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
})
}
}
}
你会得到这样的结果:
【讨论】: