无法获得playInputClick工作

Tho*_*ert 8 keyboard audio click uidevice ios

我阅读了很多关于播放键盘点击的文档和主题,但我无法让它在我的应用程序中运行...

我设计了一个自定义键盘(作为UIView子视图),它采用UIInputViewAudioFeedback协议,并为该enableInputClicksWhenVisible方法返回YES .

但是当我打电话时[[UIDevice currentDevice] playInputClick],没有任何反应(当我使用默认键盘时,我可以听到咔嗒声).

在Apple UIKit框架参考中,它写道它应该"只有在输入视图本身已启用且可见"时才能工作.我的视图显然是可见的,即使我将超类从UIView更改为UIControl,并设置self.enabled = YES,它也不起作用......

我看到很多解决方案,AudioServicesPlaySystemSound(1104);但我甚至没有尝试,因为如果用户在设置中禁用了键盘点击,我不想播放点击.

为什么"官方"解决方案不起作用?在iOS 8中它似乎没有被弃用...

非常感谢

托马斯

ody*_*yth 0

您是否采用了 UIInputViewAudioFeedback 协议并覆盖了enableInputClicksWhenVisible?

要为输入点击启用自定义输入或附件视图,请执行以下两个步骤:

1) 在输入视图类中采用 UIInputViewAudioFeedback 协议。

2) 实现enableInputClicksWhenVisible委托方法以返回true。

https://developer.apple.com/documentation/uikit/uidevice/1620050-playinputclick