【SwiftUI】条件によってViewの見た目を変える方法

特定の条件によってViewの見た目を変える方法を紹介します。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】11.1
【Swift】5.1
【iOS】13.1.3
【macOS】Catalina バージョン 10.15

if条件を使用してViewを変える

ボタンをクリックすると背景色が変わるサンプルソースです。

useYellowBackgroundフラグの値をif条件で判断し、背景色を設定します。trueの場合は黄色、falseの場合は白色。
「背景色変更」ボタンをクリックすると、useYellowBackgroundフラグの内容が反転します。

SwiftUIでは@Stateで宣言されたプロパティの変更を監視し、bodyプロパティが再呼び出しされます。
この為、useYellowBackgroundプロパティが変更されるたびに、背景色がすぐに更新されます。

三項演算子による条件付きView

三項演算子を使うと、Viewの挙動を、より簡単に変えられます。

先程のソースのif文は、次のようにシンプルなものに置き換えられます。

最後に

特定の条件でViewの見た目を変える方法として、if条件分岐と、三項演算子を使った例を紹介しました。
状況によって使い分けると良いでしょう。

あわせて読みたい記事

【SwiftUI】@Stateの使い方
SwiftUIのデータバインディングの仕組みの一つである、@Stateについて解説します。
【SwiftUI】色の指定方法
SwiftUIでの色の指定方法を解説します。色の指定にはColor構造体を使用します。
【SwiftUI】画面の背景色指定
画面の背景色を指定する方法を解説します。UIKitではUIViewControllerのプロパティで設定しますが、SwiftUIではどうするのでしょうか?
SwiftUI
スポンサーリンク
スポンサーリンク
カピ通信

コメント