首页 > 建站教程 > 前端框架 >  uni-app点击震动,uni-app触感反馈实现正文

uni-app点击震动,uni-app触感反馈实现

我爱模板网在开发uni-app时,需要实现uni-app 点击震动(即“触感反馈”), uni-app并没有对应的API,而如果调用震动的方式来模拟触感反馈,即uni.vibrateShort,官方文档 https://uniapp.dcloud.io/api/system/vibrate?id=vibrateshort, iOS上只有长震动,没有短震动,所以这个方法不适用于IOS。

最终还是在网上找到了IOS的替代方法,需要使用到H5+,代码如下:
var UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator')
var impact = new UIImpactFeedbackGenerator()
impact.prepare()
impact.init(1)
impact.impactOccurred()
注意:IOS使用触感反馈需要手机支持并且在设置中打开, 否则并不能触发。而安卓是支持15ms短震动的,直接调用uni.vibrateShort即可。最终代码如下:
onTabItemTap() {
    // #ifdef APP-PLUS
    if (uni.getSystemInfoSync().platform == "ios") {
        let UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator');
        let impact = new UIImpactFeedbackGenerator();
        impact.prepare();
        impact.init(1);
        impact.impactOccurred();
    }
    if (uni.getSystemInfoSync().platform == "android") {
        uni.vibrateShort({
            success: () => {
                console.log('点击震动');
            }
        });
    }
    // #endif
},