Я пытаюсь определить собственный стиль кнопки, при наведении которого вокруг этой кнопки появляется прямоугольник.
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 и обновить оверлей?