@State var buttonDisabled = false
Button("titleKey") {
}
.disabled(buttonDisabled)
ButtonStyle을 커스텀할 때 disabled 정보를 생성자에서 Binding로 넘어주는 방법이 유일한지 알았다.
아무리 생각해도 이상해서 검색으로 하루를 보낸적도 있었다.
오늘 이런 지런 시도중에 정식 방법이 있다는 걸 알게 됐는데, 그건 바로 Environment를 이용해 정보에 접근하는 방법이다:
struct CustomButtonStyle: ButtonStyle {
@Environment(\.isEnabled) private var isEnabled
...
func makeBody(configuration: Configuration) -> some View {
// 이제 isEnabled로 접근 가능!
...
}
}
시간을 때려박으면서 공부하면 항상 새로운 게 나오는 SwiftUI..
언제쯤 눈감고 코딩할 수 있을 정도가 될까.