SwiftUI ボタンイメージ押下時 ノート

SwiftUI ボタンイメージ押下時

SwiftUIのボタンがユーザーがボタンを押している間に表示する画像を変更するには、タイトルとデフォルト状態と押された状態の2つの画像を受け入れるカスタムボタンのスタイルを作成することができます。このカスタムスタイルは、ButtonStyleプロトコルに準拠する構造体を作成することで実現できます。ButtonStyleConfigurationは、ボタンのラベル、isPressed状態、およびボタンのロールにアクセスすることができ、これらの情報を使用して表示する画像を決定することができます。makeBodyメソッドでは、ボタンの構成をチェックし、isPressed状態に基づいて正しい画像を持つラベルを返すことができます。次に、このカスタムスタイルを使用して、押されたときに異なる画像を表示するInfoButtonのような特定のタイプのボタンを構築することができます。InfoButtonは、アプリケーションでボタンが押されたときに実行するアクションを指定して呼び出すことができます。また、symbolEffectモディファイアーを使用して、押されたときに画像をスケールアップするアニメーションをカスタムスタイルに追加することもできます。これにより、UIKitのボタンの状態構成と同様の効果をSwiftUIで実現することができます。カスタムボタンのスタイルは、アプリケーションの他のボタンでも再利用することができますので、便利なソリューションです。全体的には、SwiftUIボタンの外観をカスタマイズするには、カスタムボタンのスタイルを作成するのが良い方法です、特にビルトインスタイルがニーズに満たない場合。