【发布时间】:2020-05-07 09:39:23
【问题描述】:
我正在尝试定义一个自定义按钮样式,悬停时会在该按钮周围弹出一个矩形。
struct CustomButtonStyle: ButtonStyle {
@State private var isOverButton = false
func makeBody(configuration: Self.Configuration) -> some View {
ZStack {
configuration.label
.frame(minWidth: 0, maxWidth: .infinity)
.padding()
.foregroundColor(.white)
.background(Color("Frost1"))
}
.padding(3)
.onHover { over in
self.isOverButton = over
print("isOverButton:", self.isOverButton, "over:", over)
}
.overlay(VStack {
if self.isOverButton {
Rectangle()
.stroke(Color("Frost1"), lineWidth: 2)
} else {
EmptyView()
}
})
}}
打印行显示设置变量“isOverButton”不起作用。我应该使用哪种类型的变量状态,可以从“onHover”更新并更新“overlay”?
【问题讨论】:
标签: swiftui