我试图使用新的UIImpactFeedbackGenerator
的触觉反馈,但它不工作。
- 在iPhone 7上测试
- iOS 10.1.1
- 启用系统支撑襻设置
我在Objective-C中使用以下代码示例
UIImpactFeedbackGenerator *myGen = [[UIImpactFeedbackGenerator alloc] init];
[myGen initWithStyle:(UIImpactFeedbackStyleMedium)];
[myGen impactOccurred];
myGen = NULL;
字符串
我在UILongPressGestureRecognizer
委托中触发它。
你知道是什么问题吗?
5条答案
按热度按时间mrwjdhj31#
我也遇到了同样的问题,事实证明,当使用真实的相机输入时,UIImpactFeedbackGenerator不会给予任何触觉反馈
frebpwbc2#
我在文档中遇到了同样的问题:
...请注意,调用这些方法不会直接播放触觉。相反,它会通知系统该事件。然后,系统基于设备、应用的状态、剩余电池电量和其他因素来确定是否播放触觉。例如,当前仅播放触觉反馈:
我想你只需要相信系统知道什么时候应该开火...我不喜欢这种方法,原因很明显--因此使用AudioServicesPlaySystemSound and kSystemSoundID_Vibrate:
...在某些iOS设备上,您可以传递k System Sound ID_Vibrate常量来调用振动。在其他iOS设备上,使用该常量调用此函数不会产生任何效果。
目标-C
字符串
雨燕3
型
1zmg4dgp3#
也许你不应该使用double init。
字符串
另外,请确保您在此调用之前执行了
[[AVAudioSession sharedInstance] setAllowHapticsAndSystemSoundsDuringRecording:YES];
。sc4hvdpw4#
我在WWDC 2017上问了一位苹果工程师,为什么我的触觉请求有时会失败,他让我在下一次运行循环中调用
impactOccurred
,如下所示:字符串
工作就像一个魅力!
dfty9e195#
在我的情况下-iPhone中的设置被禁用。
设置->声音和触觉->系统触觉
启用后-触觉成为工作。
x1c 0d1x的数据