TapTempoButton

一个 SwiftUI 视图,可以轻松为音乐 App 带来 Tap Tempo 功能。

工作原理

TapTempoButton 接受一个内容闭包,因此可以进行自定义。整个视图将自动处理 tap 事件并计算平均速度 (以 BPM 为单位),每次更改时都会在 onTempoChange 闭包中发送该速度。

与像标准按钮那样处理触摸事件 (在 touch up 时) 不同,此视图在 touch down 时处理它们,因此按钮行为在音乐环境中更加自然。

TapTempoButtonPreview

用法

TapTempoButton 添加到您的 View 中,并使用内容闭包进行自定义。

TapTempoButton(onTempoChange: {
    self.tempo = $0
}) {
    Text("Tap")
}

它也可以像常规 SwiftUI Button 一样进行自定义

.buttonBorderShape(.capsule)
.buttonStyle(.bordered)

或者

.buttonStyle(MyButtonStyle())

配置

以下属性可以在初始化时配置

安装

  1. 从“File”菜单中,选择“Add Packages...”
  2. 输入软件包仓库 URL: https://github.com/yannxou/TapTempoButton
  3. 确认版本并让 Xcode 解析软件包

支持

这个库的想法出现在开发 iOS/macOS 应用 Vetro: Visual Metronome 时。如果您喜欢它,可以通过购买我们的任何应用来支持我们。

许可证

此库在 MIT 许可证下发布。有关详细信息,请参阅LICENSE