SwiftUI + Swift 设备振动

如何让设备振动呢

iPhone 6S 3D Touch,可以识别轻,中,重三种按压力度,配合恰到好处的振动有利于提升交互体验,但后面的新设备都不支持 3D Touch 了,改为了检测按压时间,按同一个图标,不同时间,交互,功能有所不同

Taptic Engine——聊聊iPhone的震动马达


Show Me The Code

// 这段代码发出的振动,很普通,像来电话时的振动,像几年前的安卓,或者 5S 及以前的设备

import SwiftUI
import AudioToolbox

struct SwiftUIView1: View {
    var body: some View {
        Button("触发震动 1") {
            triggerVibration()
        }
    }
    
    func triggerVibration() {
        AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
    }
}

SwiftUI + Swift 设备振动_第1张图片

// 这段代码发出的振动,就很 coooooooooooooool
// 可以试试初始化一个 Xcode Project 真机运行试一试
// 它就很适合 自定义键盘 这种场景,很小的振动感

import SwiftUI
import AudioToolbox

struct SwiftUIView2: View {
    var body: some View {
        Button("触发震动 2") {
            // AudioServicesPlaySystemSound(1519) // Actuate "Peek" feedback (weak boom)
            AudioServicesPlaySystemSound(1520) // Actuate "Pop" feedback (strong boom)
            // AudioServicesPlaySystemSound(1521) // Actuate "Nope" feedback (series of three weak booms)
                    
        }
    }
}

参考资料

  • https://stackoverflow.com/questions/26455880/how-to-make-iphone-vibrate-using-swift

  • https://www.hackingwithswift.com/example-code/system/how-to-make-the-device-vibrate


喜欢或对你有帮助,请点个赞吧,自己先点个嘿嘿 。

有错误或者疑问还请评论指出。

我的个人网站 点击访问 hongweizhu.com 。


END


你可能感兴趣的:(Swift,SwiftUI,提升体验,swift,swiftui,ios)