WWDC20のSwift Playgroundsセッションはすぐに使える話だった
今年のWWDCはオンラインで進められています。
四日目の『Build a SwiftUI view in Swift Playgrounds』(wwdc20-10643)を試したところ、現在の正式版Playgrounds(Ver 3.3)とXcode 11.5 のPlaygroundで問題なく使えました。
1 setLiveView(_:)メソッド引数にモディファイア
最初に目から鱗だったのは、PlaygroundPage.current.setLiveViewの引数に .padding(150) などと使えることです。
PlaygroundPage.current.setLiveView(Preview().padding(150))
setLiveView(_:)メソッドの引数はSwiftUIのビューを渡せます。
SwiftUIのビューインスタンスなのでモディファイアを付けても何も問題ないわけです。
言われてみれば当然ですが、試したこともありませんでした。
これは手軽で良いですね。
2 ダークモードとライトモードの比較
.environment(\.colorScheme, .dark) を使ってビュー単位でダークモードにしていました。
Xcodeのプレビューのようにライトモードとダークモードの表示状態を並べて確認できます。
func environment<V>(_ keyPath: WritableKeyPath<EnvironmentValues, V>, _ value: V) -> some View
keyPathでcolorScheme以外にもいろいろ設定できます。
ビデオでは
ProgressView()
ProgressView()
.environment(\.colorScheme, .dark)
としていましたが、これだとダークモード環境で実行すると上下ともダークモードで表示されてしまいます。
次のコードならダークモードで実行しても、二つの表示を比較できるようになります。
ProgressView()
.environment(\.colorScheme, .light)
ProgressView()
.environment(\.colorScheme, .dark)
3 ダークモード表示の確認
ちなみにiPadの Playgrounds アプリで実行中もコントロールセンターでダークモードに簡単に切り替えできます。
コントロールセンターにダークモードを追加してください。
コントロールセンターを表示し、ワンタッチで切り替えできます。
(タップするとライトモード/ダークモードがトグルします)
PlaygroundsアプリでSwiftUIビューを表示していればダークモードの確認が可能です。
複数のビューを表示するにはスペースが不足の場合にも使えます。
4 サンプルのコードはまだ?
『Build a SwiftUI view in Swift Playgrounds』セッションを Developer アプリで見るとコードの各ステップがコピーできます。
しかし6月26日現在「ProgressView」のサンプルコードはダウンロードできないようです。
WWDCの内容は新しいXcodeや新バージョンのOS向けがほとんどですが、Playgrounds関連はこれまで確認した範囲では、現在のバージョンで実行できています。
SwiftUIもいよいよ重要になってきました。
Playgroundsで手軽に試してください。
・・・
SwiftUI関連記事はこちらのマガジンにもまとめています。
ここから先は
プレイグラウンドでSwiftUI
SwiftUIをPlaygroundsでシンプルに使いましょう。PlaygroundsはiPadだけでなくMacでも使えるようになりました…
今後も記事を増やすつもりです。 サポートしていただけると大変はげみになります。