SwiftUIのチュートリアルの最後に、Mac用Appを作成する章があります。
そこまでのチュートリアルで作成したコードをそのまま活用して、少し手を加えればMac用Appができるのに、感銘を受けました。
独自のApp開発に当たっても、SwiftUIで作成開始。iPhone/iPadに加えて、MacOSも対象としました。
しかし、UIViewを用いたいとき、MacOSでは使えません。
iPad用のコードと共用でMac用Appが作成できるMac Catalystという機能があったので、そちらを使って作成を継続しました。
SwiftUI+Mac Catalystで、以下のようなUIを作成しました。
struct ContentView: View {
@State private var seekPos: Double = 0
var body: some View {
Button(action: {
}, label: {
Text("Button A")
})
.padding()
Button(action: {
}, label: {
Text("Button B")
})
.padding()
Slider(value: $seekPos)
}
}
iPhoneやiPadで実行した場合、スライダーは動きます。
しかし、Macで実行した場合、ボタンA、ボタンBと押したあと、スライダーをドラッグしようとしても動きません。
(Xcode Version 12.5.1 、macOS Big Sur バージョン 11.5.2で実行)
これには、困りました。
SwiftUI+Mac Catalystでの開発は取りやめて、
UIKit+Mac Catalystで開発を進めることとしました。