长按按钮 (LongPressButton)

CI

一个 SwiftUI 按钮,在点击或长按时触发操作。

用法

创建 LongPressButton 的方式与创建普通 Button 类似,向其传递标题、点击时执行的操作和长按时执行的操作。

LongPressButton("Tap or long press me") { 
    // Tapped
} longPressAction: { 
    // Long pressed
}

此外,您可以配置最短长按持续时间、最大手指移动距离或提供自定义标签。

LongPressButton(minimumDuration: 0.5, maximumDistance: 10) { 
    // Tapped
} longPressAction: { 
    // Long pressed
} label: {
    Image(systemName: "plus")
}

安装

Swift Package Manager

将以下内容添加到 "Package.swift" 文件中的 dependencies 数组中

.package(url: "https://github.com/Tunous/LongPressButton.git", .upToNextMajor(from: "1.1.0"))

或者将 https://github.com/Tunous/LongPressButton.git 添加到 Xcode 中任何项目的 Swift 包列表中。

鸣谢

在 SwiftUI 中支持按钮的点击和长按 作者:Peter Steinberger - 这是一篇很棒的文章,提供了关于如何创建具有长按操作的按钮的几种潜在解决方案。遗憾的是,它们都不适用于我的使用场景。