我想在SwiftUI中创建一个自定义按钮,希望在整个应用程序中重复使用。该按钮基本上只是一个没有标签的可点击图像。 我考虑过为它创建一个自定义的ButtonStyle。 不过,我在遵守ButtonStyle协议时遇到问题,因为我不知道应该在此处选择哪种类型。
我已经尝试了some View
的{{1}}或仅仅是View
的尝试,但是没有成功。
<#type>
尝试使用struct customButtonStyle: ButtonStyle {
typealias Body = <#type>
}
或View
时收到的错误消息是:
some View
,XCode只是再次添加此行Type 'customButtonStyle' does not conform to protocol 'ButtonStyle'
。
非常感谢您的帮助。
答案 0 :(得分:2)
您可以在makeBody
函数中定义自定义样式。按下按钮时,您可以使用configuration.isPressed
来配置按钮。
struct MyButtonStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
// all of the modifiers you want to apply in your custom style e.g.:
.foregroundColor(configuration.isPressed ? .red : .blue)
}
}