我对Swift和编程很新。我正在尝试创建一个由UILongPressGestureRecognizer触发的触觉反馈模式。当用户“长按”屏幕时,我希望手机振动三次,每次振动之间有1秒的延迟。我尝试使用“睡眠”来完成1秒延迟,但这不起作用。正确地做到这一点的最佳方法是什么?
{{1}}
答案 0 :(得分:-1)
最近我在做类似的事情,并想出了一个可以看的小豆荚。 这是链接https://github.com/iSapozhnik/Haptico
因此,我们的想法是使用一系列操作来构建一个OperationQueue。一种操作可能是您的触觉反馈,另一种可能是暂停操作。
答案 1 :(得分:-1)
您可以创建OperationQueue
并添加带有触觉反馈的操作。该操作将如下所示:
class HapticFeedbackOperation: Operation {
override func main() {
// Play the haptic feedback
UIImpactFeedbackGenerator(style: .heavy).impactOccurred()
}
}
您可能希望在两次操作之间添加延迟。
签出我的开源框架Haptica,它同时支持Haptic Feedback
,AudioServices
和独特的振动模式。 在Swift 4.2,Xcode 10上运行