SwiftUI 按钮实现长按重复触发点击事件

282 阅读1分钟

SwiftUI有一个专用的 buttonRepeatBehavior 修饰符用来实现长按按钮重复触发点击事件。

当用户按住按钮时,它会重复触发按钮的点击事件。随着你长按事件的加长,点击事件的触发速度越来越快,所以用户按住它的时间越长,触发速度越快。

例如,当按下该按钮时,计数器会增加1,但如果你长按住该按钮,它会继续以越来越快的速度增加1,示例代码如下:

import SwiftUI


struct ContentView: View {
    @State private var tapCount = 0

    var body: some View {
        Button("点击次数: \(tapCount)") {
            tapCount += 1
        }
        .buttonRepeatBehavior(.enabled)
    }
}

效果图如下:

截屏2024-12-05 13.51.41.png