gpt4 book ai didi

iOS8自定义键盘问题

转载 作者:可可西里 更新时间:2023-11-01 17:17:50 26 4
gpt4 key购买 nike

我现在正在开发 iOS 8 自定义键盘扩展,有些问题我无法解决。

首先,我认为 UITextInputDelegate 方法没有按预期工作。

这听起来对吗:selectionWillChange:selectionDidChange: 方法应该在用户长按输入区域时调用?以及 textWillChange:textDidChange: 方法是否应该在文本逐字变化时被调用?

实际上,我观察到的是,当我在文本输入区域中更改选择时,textWillChange:textDidChange: 被调用,但我不知道在什么情况下调用其他两种方法。如果有人知道这些委托(delegate)方法的用法,请告诉我。

其次,我知道 playInputClick: 方法可用于在自定义键盘中虚拟化键盘点击声音。由于这适用于正常情况,我发现无法在iOS 8自定义键盘扩展中应用。我的应用程序包含一个键盘 View Controller ,以及将 UIView 的子类添加到该 View Controller 的自定义 View 。我的方法是在这个自定义 View 中声明 UIInputViewAudioFeedback 委托(delegate),enableInputClicksWhenVisible 方法返回 YES,类方法调用 [[UIDevice currentDevice] playInputClick] 已设置,然后在需要键盘声音的任何地方调用此方法:根本不起作用。

我的方法有任何问题吗?如果有人成功使用playInputClick方法,请分享您的智慧。

谢谢

最佳答案

最好在队列上而不是在 UI 键处理程序中播放音频

func playPressKeySound() {
let PRESS_KEY_DEFAULT_SOUND_ID: SystemSoundID = 1104
dispatch_async(dispatch_get_main_queue()) {
AudioServicesPlaySystemSound(PRESS_KEY_DEFAULT_SOUND_ID)
}
}

注意:这仅在键盘已打开完全访问权限时有效,因此最好在调用之前测试是否具有完全访问权限,否则键盘可能会出现长时间停顿。

关于iOS8自定义键盘问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25151990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com