インスタンスプロパティ
role
ボタンの目的を説明するオプションの意味的役割。
宣言
let role: ButtonRole?
議論
nil の値は、Button に役割が割り当てられていないことを意味します。ボタンに役割がある場合は、それを使用してボタンの外観を調整します。以下の例は、役割が cancel の場合は太字のテキストを使用し、役割が destructive である場合は red のテキストを使用し、それ以外の場合は特別なスタイルを追加しないカスタムスタイルを示します。
struct MyButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
.font(
configuration.role == .cancel ? .title2.bold() : .title2)
.foregroundColor(
configuration.role == .destructive ? Color.red : nil)
}
}
このスタイルを使用して各ボタンの 1 つを作成し、効果を確認できます。
VStack(spacing: 20) {
Button("Cancel", role: .cancel) {}
Button("Delete", role: .destructive) {}
Button("Continue") {}
}
.buttonStyle(MyButtonStyle())