SwiftUIのビューを透過させるには、不透明度を設定するopacityモディファイアを利用する。
今回はサンプルとして、Imageビューの不透明度をSliderで調整するコードを紹介する。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | struct ContentView : View { @State var opacity = 1.0 var body: some View { VStack { Image ( "pasta" ) .resizable() .scaledToFit() .opacity(opacity) VStack (alignment: .leading) { Text ( "不透明度: \(opacity)" ) Slider (value: $opacity, in : 0...1) } } } } |
画像は何を使っても良いが、今回はパスタの画像を用意した。
そのまま使うと画像サイズの問題で、画面からはみ出てしまうため、resizableで画像サイズを調整。さらに縦横比が崩れないように、scaledToFitも合わせて使っている。
Sliderにはopacity状態変数をバインドさせておき、スライダーの動きに合わせてリアルタイムでビューに値が反映されるようにしている。
このサンプルアプリを実行してみる。



スライダーの動きに合わせて、画像の透明度が変化していることが分かる。