无法让 playInputClick 工作
Posted
技术标签:
【中文标题】无法让 playInputClick 工作【英文标题】:Can't get playInputClick working 【发布时间】:2014-12-26 22:25:39 【问题描述】:我阅读了很多关于播放键盘点击的文档和主题,但我无法让它在我的应用程序中工作......
我设计了一个自定义键盘(作为 UIView 子视图),采用 UIInputViewAudioFeedback 协议,enableInputClicksWhenVisible
方法返回 YES。
但是当我打电话给[[UIDevice currentDevice] playInputClick]
时,什么也没有发生(而当我使用默认键盘时我能听到咔哒声)。
在 Apple UIKit 框架参考中,它写道它应该“仅当输入视图本身启用且可见时”才能工作。我的视图显然是可见的,即使我将超类从 UIView 更改为 UIControl,并设置 self.enabled = YES,它也不起作用...
我看到了很多像AudioservicesPlaySystemSound(1104);
这样的解决方案,但我什至没有尝试过,因为如果用户在设置中禁用了键盘点击,我不想播放点击。
为什么“官方”解决方案不起作用?它似乎在 iOS 8 中并没有被弃用...
非常感谢
托马斯
【问题讨论】:
【参考方案1】:您是否采用了 UIInputViewAudioFeedback 协议并覆盖了 enableInputClicksWhenVisible?
要为输入点击启用自定义输入或附件视图, 执行以下两个步骤:
1) 在您的输入视图类中采用 UIInputViewAudioFeedback 协议。
2) 实现 enableInputClicksWhenVisible 委托方法返回 真的。
https://developer.apple.com/documentation/uikit/uidevice/1620050-playinputclick
【讨论】:
以上是关于无法让 playInputClick 工作的主要内容,如果未能解决你的问题,请参考以下文章
无法让 setBackgroundMessageHandler 工作