gpt4 book ai didi

ios - 单击按钮后立即执行 SwiftUI 按钮操作,而不是单击释放

转载 作者:行者123 更新时间:2023-12-01 18:34:15 25 4
gpt4 key购买 nike

我想在 SwiftUI 按钮中单击/点击按钮后立即调用该操作。我该如何实现?

最佳答案

这是一种可能的方法 - 使用自定义 ButtonStyle 来注入(inject)自定义触地 Action

使用 Xcode 12/iOS 14 测试

struct PressedButtonStyle: ButtonStyle {
let touchDown: () -> ()
func makeBody(configuration: Self.Configuration) -> some View {
configuration.label
.foregroundColor(configuration.isPressed ? Color.gray : Color.blue)
.background(configuration.isPressed ? self.handlePressed() : Color.clear)
}

private func handlePressed() -> Color {
touchDown() // << here !!
return Color.clear
}
}

struct DemoPressedButton: View {
var body: some View {
Button("Demo") {
print(">> tap up") // << can be empty if nothing needed
}
.buttonStyle(PressedButtonStyle {
print(">> tap down")
})
}
}

关于ios - 单击按钮后立即执行 SwiftUI 按钮操作,而不是单击释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63316752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com