在swift 3中创建触觉反馈模式

时间:2017-07-07 21:09:21

标签: swift3 delay sleep haptic-feedback uifeedbackgenerator

我对Swift和编程很新。我正在尝试创建一个由UILongPressGestureRecognizer触发的触觉反馈模式。当用户“长按”屏幕时,我希望手机振动三次,每次振动之间有1秒的延迟。我尝试使用“睡眠”来完成1秒延迟,但这不起作用。正确地做到这一点的最佳方法是什么?

{{1}}

2 个答案:

答案 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 FeedbackAudioServices和独特的振动模式。 在Swift 4.2,Xcode 10上运行