XCode 14.3 日本語化計画:New Human Interface Guideline
アクションを開始するコントロール。
struct Button<Label> where Label : View
アクションとラベルを提供してボタンを作成します。アクションは、ユーザーがボタンをクリックまたはタップしたときに何らかの処理を行うメソッドまたはクロージャプロパティのいずれかです。ラベルは、ボタンのアクションを説明するビューです。たとえば、テキスト、アイコン、またはその両方を表示します。
テキストのみのラベルの一般的な場合では、後方のクロージャの代わりにタイトル文字列または LocalizedStringKey を最初のパラメータとして受け取るコンビニエンスイニシャライザを使用できます。
Button("Sign In", action: signIn)
ユーザーがボタンをアクティブにする方法はプラットフォームによって異なります。
ボタンの外観は、ボタンを配置する場所、役割を割り当てるかどうか、スタイルの設定などの要因によって異なります。
アクションを開始するユーザーインターフェイス要素にはボタンを使用します。ボタンは、これらのさまざまなコンテナやコンテキスト内で予期されるスタイルに一致するように、視覚的なスタイルを自動的に調整します。たとえば、ユーザーが選択したときにアクションを開始する List セルを作成するには、リストのコンテンツにボタンを追加します。
同様に、アクションを開始するコンテキストメニュー項目を作成するには、contextMenu(_:) (   廃止  ) 修飾子のコンテンツクロージャにボタンを追加します。
このパターンは、Form (Form) インスタンスなど、カスタマイズ可能なインタラクティブなコンテンツを持つ SwiftUI の他のほとんどのコンテナビューに拡張されます。
オプションで、ボタンの目的を特徴付ける ButtonRole を使用してボタンを初期化できます。たとえば、削除アクション用の destructive ボタンを作成できます。
システムはボタンの役割を使用して、あらゆるコンテキストでボタンのスタイルを適切に設定します。たとえば、コンテキストメニューの破壊的なボタンは、赤色の前景色で表示されます。
ボタンの役割を指定しない場合、システムは適切なデフォルトの外観を適用します。
bordered (bordered) などの標準的なボタンスタイルの 1 つを使用してボタンの外観をカスタマイズし、buttonStyle(_:) 修飾子を使用してそのスタイルを適用できます。
上記の例のように、スタイルをコンテナビューに適用すると、コンテナ内のすべてのボタンでそのスタイルが使用されます。
カスタムスタイルを作成することもできます。標準の操作動作を備えたカスタムの外観を追加するには、ButtonStyle (ButtonStyle) プロトコルに準拠するスタイルを作成ししてください。外観と操作動作の両方をカスタマイズするには、PrimitiveButtonStyle (PrimitiveButtonStyle) プロトコルに準拠するスタイルを作成して下さい。カスタムスタイルはまた、ボタンの役割を読み取り、それを使用してボタンの外観を調整することもできます。
init(action: () -> Void, label: () -> Label)
カスタムラベルを表示するボタンを作成します。
init(LocalizedStringKey, action: () -> Void)
ローカライズされた文字列キーからそのラベルを生成するボタンを作成します。
Label が Text の場合に使用できます。
init<S>(S, action: () -> Void)
文字列からそのラベルを生成するボタンを作成します。
Label が Text の場合に使用できます。
init(role: ButtonRole?, action: () -> Void, label: () -> Label)
カスタムラベルを表示する、指定された役割を持つボタンを作成します。
Label が View に準拠している場合に使用できます。
init(LocalizedStringKey, role: ButtonRole?, action: () -> Void)
ローカライズされた文字列キーからラベルを生成する、指定された役割を持つボタンを作成します。
Label が Text の場合に使用できます。
init<S>(S, role: ButtonRole?, action: () -> Void)
文字列からそのラベルを生成する、指定された役割を持つボタンを作成します。
Label が Text の場合に使用できます。
init(PrimitiveButtonStyleConfiguration)
カスタムの外観とカスタムの操作動作を備えたスタイルの構成に基づいてボタンを作成します。
Label が PrimitiveButtonStyleConfiguration.Label の場合に使用できます。
init<S>(S, intent: some AppIntent)
AppIntent を実行し、文字列からそのラベルを生成するボタンを作成します。
Label が Text の場合利用できます。
  Beta  
init(LocalizedStringKey, intent: some AppIntent)
AppIntent を実行し、ローカライズされた文字列キーからそのラベルを生成するボタンを作成します。
Label が Text の場合利用できます。
  Beta  
init<I>(intent: I, label: () -> Label)
AppIntent を実行するボタンを作成します。
Label が View に準拠している場合利用できます。
func buttonStyle<S>(S) -> some View
このビュー内のボタンのスタイルを、カスタムの外観と標準の操作動作を備えたボタンスタイルに設定します。
func buttonStyle<S>(S) -> some View
このビュー内のボタンのスタイルを、カスタムの外観とカスタムの操作動作を備えたボタンスタイルに設定します。
func buttonBorderShape(ButtonBorderShape) -> some View
このビュー内のボタンの境界線の形状を設定します。
func buttonRepeatBehavior(ButtonRepeatBehavior) -> some View
このビューのボタンが長時間の操作でアクションを繰り返しトリガーするかどうかを設定します。
  Beta  
var buttonRepeatBehavior: ButtonRepeatBehavior
この関連環境を持つボタンが、長時間の操作でアクションを繰り返しトリガーするかどうか。
  Beta  
ボタンの境界線を描画するために使用される形状。
ボタンの目的を説明する値。
ボタンのアクションの再現性を制御するためのオプション。
  Beta