【SwiftUI】Modifierをまとめて適用する

コンテナで括られた複数のViewに対して、Modifierをまとめて適用する方法を紹介します。

スポンサーリンク

環境

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

【Xcode】11.1
【Swift】5.1
【iOS】13.1.3
【macOS】Catalina バージョン 10.15
スポンサーリンク

コンテナでまとめて適用する

いくつかの特定のModifierは、VStackやHStackなどのコンテナに対して指定する事で、コンテナ内の各Viewにまとめて適用する事が可能です。

次のサンプルでは、VStackコンテナ内の各Viewに、フォントと表示色をまとめて適用します。

【図1:コンテナでまとめて適用する】

スポンサーリンク

解説

全てのModifierがコンテナに対して適用できるわけではないので、実際に適用可能か自分で試してみる必要があります。
例えば現時点では、fontWeight()やbold()等はコンテナに対しては適用できません。

また、サンプルではText(“タピオカ”)に対して個別に指定したフォントや文字色が優先して適用されていますが、これもModifierの種類によっては動きが変わります。
ぼかし効果を付加するblur()などは、効果が重ねて適用されます。

スポンサーリンク

最後に

Modifierには、今回紹介した適用方法以外にも、便利な使い方がありますので、別の記事で紹介します。

Kindle unlimited 読み放題で読める管理人のおすすめ本です!
スポンサーリンク
SwiftUI
カピ通信