SwiftUI有一个专用的 buttonRepeatBehavior 修饰符用来实现长按按钮重复触发点击事件。
当用户按住按钮时,它会重复触发按钮的点击事件。随着你长按事件的加长,点击事件的触发速度越来越快,所以用户按住它的时间越长,触发速度越快。
例如,当按下该按钮时,计数器会增加1,但如果你长按住该按钮,它会继续以越来越快的速度增加1,示例代码如下:
import SwiftUI
struct ContentView: View {
@State private var tapCount = 0
var body: some View {
Button("点击次数: \(tapCount)") {
tapCount += 1
}
.buttonRepeatBehavior(.enabled)
}
}
效果图如下: