【发布时间】:2020-03-11 02:52:49
【问题描述】:
我想使用尺寸类创建不同的布局,我遵循了这个例子:https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-different-layouts-using-size-classes
我扩展了 Xcode Master/Detail 模板并将 ContentView 更改如下,使用两个尺寸类,然后使用水平尺寸类设置一个尺寸类依赖的导航标题。 问题是导航标题总是显示为“紧凑”。我在这里遗漏了什么?
struct ContentView: View {
@Environment(\.managedObjectContext)
var viewContext
@Environment(\.verticalSizeClass) var vSizeClass
@Environment(\.horizontalSizeClass) var hSizeClass
var body: some View {
NavigationView {
MasterView()
.navigationBarTitle(Text(hSizeClass == .compact ? "Compact" : "Regular"))
.navigationBarItems(
leading: EditButton(),
trailing: Button(
action: {
withAnimation { Event.create(in: self.viewContext) }
}
) {
Image(systemName: "plus")
}
)
Text("Detail view content goes here")
.navigationBarTitle(Text("Detail"))
}.navigationViewStyle(DoubleColumnNavigationViewStyle())
}
}
【问题讨论】: