プロトコル


ViewModifier


ビューまたは別のビュー修飾子に適用して、元の値の異なるバージョンを生成する修飾子。


iOS 13.0+ iPadOS 13.0+ macOS 10.15+ Mac Catalyst 13.0+

tvOS 13.0+ watchOS 6.0+


protocol ViewModifier






概要


任意のビューに適用できる再利用可能な修飾子を作成する場合は、ViewModifier プロトコルを採用して下さい。以下の例では、いくつかの修飾子を組み合わせて、角丸四角形で囲まれた青いキャプションテキストの作成に使用できる新しい修飾子を作成します。


  1. struct BorderedCaption: ViewModifier {
  2. func body(content: Content) -> some View {
  3. content
  4. .font(.caption2)
  5. .padding(10)
  6. .overlay(
  7. RoundedRectangle(cornerRadius: 15)
  8. .stroke(lineWidth: 1)
  9. )
  10. .foregroundColor(Color.blue)
  11. }
  12. }


modifier(_:) (modifier(_:)) をビューに直接適用することもできますが、より一般的で慣用的なアプローチでは、modifier(_:) を使用して、ビュー修飾子を組み込んだ View 自体に拡張機能を定義して下さい。


  1. extension View {
  2. func borderedCaption() -> some View {
  3. modifier(BorderedCaption())
  4. }
  5. }


次に、以下のように、枠線付きのキャプションを全てのビューに適用できます。


  1. Image(systemName: "bus")
  2. .resizable()
  3. .frame(width:50, height:50)
  4. Text("Downtown Bus")
  5. .borderedCaption()



トピックス


本体の取得


func body(content: Self.Content) -> Self.Body

呼び出し元の現在の本体を取得します。
必須 デフォルトの実装が提供されます。


typealias Content

body() に渡されるコンテンツビューの型。


associatedtype Body : View

本体を表すビューの型。
必須





@@@@@@@@@@@@@@@@
06月10日 ここまで
@@@@@@@@@@@@@@@@


サポートする型


typealias Body

本体を表すビューの型。



デフォルトの実装


  • ViewModifier の実装





  • 関連


    以下への準拠


    ViewModifier






    以下も見よ


    サポートする型


    struct AccessibilityTechnologies

    システムで利用できるアクセシビリティ技術。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ