[SwiftUI]previewLayoutの活用
7759 ワード
プレビュー時にpreviewLayout
を活用する
- Listで表示するコンポーネントなどを切り出して作成する場合などは、
previewLayout
を使うことでプレビューが見やすくなる - 例えば下記のような画面があったとして、そのままプレビューを表示すると画面全体が表示される
struct ContentView: View {
let isActive: Bool
var body: some View {
VStack {
Text("Hello, world!")
.padding()
}
.foregroundColor(isActive ? .green : .white)
.overlay(
RoundedRectangle(cornerRadius: 10)
.stroke(isActive ? .green : .gray, lineWidth: 2)
)
.background(
RoundedRectangle(cornerRadius: 10)
.fill(isActive ? .white : .gray)
)
}
}
-
ContentView_Previews
に下記のように追記することで、プレビュー表示される画面のサイズを指定できる
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(isActive: true)
.previewLayout(.fixed(width: 400, height: 100))
}
}
- またサンプルコードは
isActive
という変数の値によってカラーを分岐させているが、プレビューはいくつも並べることができるので、下記のようにそれぞれのステータスを指定した呼び出しを並べることで、プレビューで各パターンを一覧表示させることができる
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(isActive: true)
.previewLayout(.fixed(width: 400, height: 100))
ContentView(isActive: false)
.previewLayout(.fixed(width: 400, height: 100))
}
}
Author And Source
この問題について([SwiftUI]previewLayoutの活用), 我々は、より多くの情報をここで見つけました https://zenn.dev/spyc/articles/4160522dd1bcb4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol