良い一日! SwiftUIで、特定のOSターゲットにのみ修飾子を使用することは可能ですか?次のコードでは、iOSターゲットには存在しないため、修飾子.listStyle(SidebarListStyle())をMacOSターゲットにのみ使用したいと思います。助けてくれてありがとう。
import SwiftUI
struct ContentView: View {
@State var selection: Int?
var body: some View {
HStack() {
NavigationView {
List () {
NavigationLink(destination: FirstView(), tag: 0, selection: self.$selection) {
Text("Click Me To Display The First View")
} // End Navigation Link
NavigationLink(destination: SecondView(), tag: 1, selection: self.$selection) {
Text("Click Me To Display The Second View")
} // End Navigation Link
} // End list
.frame(minWidth: 350, maxWidth: 350)
.onAppear {
self.selection = 0
}
} // End NavigationView
.listStyle(SidebarListStyle())
.frame(maxWidth: .infinity, maxHeight: .infinity)
} // End HStack
} // End some View
} // End ContentView
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
WorkingDog、私は非常にシンプルなコードでエレガントなコードを試して、ターゲットに応じてテキストの色を変更します...しかし、テキストは両方のターゲットで青のままで、MacOSでは赤になりません!
import SwiftUI
struct ContentView: View {
var body: some View {
#if os(macOS)
return monText.foregroundColor(Color.red)
#elseif os(iOS)
return monText.foregroundColor(Color.blue)
#endif
}
var monText: some View {
Text("Hello, World!")
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}