从beta 4开始,实现Master and Detail结构的方法应该是使用.navigationViewStyle(.doubleColumn)。在iOS / iPadOS / macOS上完美运行,但在tvOS上却无法运行...这是一个错误或我缺少了什么?
import SwiftUI
struct ContentView: View {
var arra = ["Margherita","Marinara","Calzone"]
var body: some View {
NavigationView {
List(arra, id: \.self) { pizza in
NavigationLink(destination: SecondView(pizza: pizza)) {
Text(pizza)
}
}.navigationBarTitle("MASTER")
SecondView(pizza: arra[0])
}
.navigationViewStyle(.doubleColumn)
}
}
struct SecondView: View {
var pizza : String
var body: some View {
Text(pizza)
.navigationBarTitle("DETAIL")
}
}
答案 0 :(得分:0)
(从GM版本开始)官方文档显示如下信息:双列样式将堆积在tvOS上,就像它是纵向模式的iPhone一样。因此,不可能自动获得“大师级和细节级”的外观,就像它是iPad上的风景一样,您必须自己构建它。即使您在UIKit中使用一个UISplitViewController!鉴于这种行为,我认为只有当主屏幕为全屏CollectionView(如Netflix App)时才可以使用。