iOS 键盘点击用户偏好

Posted

技术标签:

【中文标题】iOS 键盘点击用户偏好【英文标题】:iOS keyboard click user preference 【发布时间】:2010-10-29 19:29:36 【问题描述】:

谁能告诉我如何发现用户在键入时是否启用/禁用了那个烦人的点击,我想用它作为默认值来指示我是否应该在他们点击某些东西时点击。

谢谢你,维克

【问题讨论】:

这需要未记录的 API。为什么不让它成为一种选择? How to check iPhone keyboard klick sound turned on/off in settings ?的可能重复 @KennyTM 谢谢你,我做了搜索,但发现有人问如何播放声音。我确实有它作为一个选项,我只想使用系统偏好作为我的默认设置。 【参考方案1】:

您无法访问系统偏好设置,但从 ios 4.2 开始,如果用户设置允许,您可以要求系统发出点击声音。将 UIInputViewAudioFeedback 协议添加到视图的声明中,例如:

@interface MyView : UIView <UIInputViewAudioFeedback>

然后实现 enableInputClicksWhenVisible 方法

- (BOOL)enableInputClicksWhenVisible

    return YES;

然后打电话

[[UIDevice currentDevice] playInputClick];

播放令人讨厌的点击声。

见http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html%23//apple_ref/doc/uid/TP40009542-CH12-SW4

【讨论】:

我这样做了,但没有听到任何声音。我的一般偏好是键盘点击“打开”。在我的 ViewController 中,我从一个链接到我的 UIButton 的 IBAction 调用 playInputClick,它又是我的自定义视图的一个“子对象”,称为“MyView”。我正在使用 iOS5 b7 可能与此有关吗?甚至可以将这种方法用于 UIButtons,还是仅适用于“标准”键盘? 通过阅读文档(以及我在 iOS6 中的测试),我认为仅支持键盘附件视图(或在 UITextField 上设置的 inputViews 或其他内容),而不仅仅是您显示的任何视图。【参考方案2】:

据我所知,公共 API 中不允许访问用户的一般首选项。您可以做的最好的事情是在以下位置提出功能请求/提交错误报告:

https://bugreport.apple.com/

【讨论】:

这就是我开始的想法。您可能会认为,如果他们想保持应用程序的一致性,他们会打开(或某些)系统设置。现在他们允许在 ipad 上使用自定义键盘,我们将不得不在每个应用程序设置中禁用点击噪音:-( 是的,我也是这样。必须做出决定,我希望他们总是点击还是从不点击。希望他们将开始至少允许对其中一些设置进行读取访问。

以上是关于iOS 键盘点击用户偏好的主要内容,如果未能解决你的问题,请参考以下文章

苹果电脑键盘失灵 解决技巧

macbookair如何关闭键盘

ios键盘可点击但不可见

ios 最新系统bug与解决——弹出键盘再收起时,原虚拟键盘位点击事件无效

ios 最新系统bug与解决——弹出键盘再收起时,原虚拟键盘位点击事件无效

ios 最新系统bug与解决——微信公众号中弹出键盘再收起时,原虚拟键盘位点击事件无效