在我的Catalyst项目中,我只想将SidebarListStyle()
应用于Mac。
我的问题是,即使我检查操作系统,也无法构建项目。这里是一个例子:
struct CrossList: View {
#if targetEnvironment(macCatalyst)
var body: some View {
List {
Text("Mac Test")
}
.listStyle(SidebarListStyle())
}
#else
var body: some View {
List {
Text("iOS Test")
}
}
#endif
}
这在构建时给我以下错误:
'SidebarListStyle'在iOS中不可用
最佳答案
Mac Catalyst本质上是iOS –仅在Mac上运行。 SidebarListStyle
仅在开发完整的macOS(非Catalyst)应用程序时可用,并将包含在编译器指令#if os(macOS)
中,如下所示:
struct CrossList: View {
#if os(macOS)
var body: some View {
List {
Text("Mac Test")
}
.listStyle(SidebarListStyle())
}
#else
var body: some View {
List {
Text("iOS Test")
}
}
#endif
}