SwiftUI自定义ButtonStyle
记录一下如何通过自定义SwiftUI自定义ButtonStyle,来给按钮设计一个点击样式
import SwiftUI
/*本文章 通过创建ButtonStyle,来自定义按钮的点击动画*/struct PressButtonStyle: ButtonStyle {func makeBody(configuration: Configuration) -> some View {/* 当只创建一个label的时候这时点击没有闪烁的动画,下面展示下如何通过 缩小和同名度自定义一个点击样式*/configuration.label.scaleEffect(configuration.isPressed ? 0.9 : 1.0).opacity(configuration.isPressed ? 0.9 : 1.0)}
}
struct ButtonStyleBootCamp: View {var body: some View {Button(action: {}, label: {Text("Normal Button".uppercased()).font(.headline).foregroundColor(.white).padding().padding(.horizontal, 50).background(.blue).cornerRadius(10)})Button(action: {}, label: {Text("customer button".uppercased()).font(.headline).foregroundColor(.white).padding().padding(.horizontal, 50).background(.blue).cornerRadius(10)})/// 添加自定义的buttonStyle.buttonStyle(PressButtonStyle())}
}#Preview {ButtonStyleBootCamp()
}
效果图 :