SwiftUIのデザインとロジックの混在を解消する一つのアイディア | 熱脳しゃちょのブログ

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

まぁ、これが一般的かどうかわからないし、唯一の解決法というわけでもないが、一つのアイディアとして、手元で使い始めている方法。

また変えるかもしれないけど。

 

画面周りのデザイン部分だけを"design.swift"みたいに別ファイルにして、extentionを使う。

 

extension Text {
  func designTitle() -> some View {
   return self.font(.title)
      .padding(4)
      .frame(maxWidth: .infinity)
  }
}

で、

  Text("テキスト").designTitle()

みたいに使う。

CSSのClassみたいなイメージ。

複数画面を使っていて、統一的なデザインにしたい場合にも、ちょっと便利かもしれない。

そういう機能が、実はあったりするかもしれないけど。