我现在正在开发iOS 8自定义键盘扩展程序,但有些问题我无法解决。
首先,我认为UITextInputDelegate
方法并没有按照我的预期工作。
这个说法正确吗:当用户长按输入区域时,应该调用selectionWillChange:
和selectionDidChange:
方法吗?每当文本实际更改时,textWillChange:
和textDidChange:
方法都应该被调用吗?
实际上,我观察到的是,当我在文本输入区域中更改选择时,textWillChange:
和textDidChange:
被调用了,并且我无法得知另外两个方法在什么情况下被调用。如果有人知道这些委托方法的使用方法,请告诉我。
其次,我知道playInputClick:
方法可以用于在自定义键盘中虚拟键盘点击声音。但是,在iOS 8自定义键盘扩展程序中似乎无法应用。我的应用程序包括一个键盘视图控制器和一个自定义视图,该自定义视图以UIView作为子类添加到此视图控制器中。我的方法是在此自定义视图中声明UIInputViewAudioFeedback
委托,将enableInputClicksWhenVisible
方法返回为YES
,设置调用[[UIDevice currentDevice] playInputClick]
的类方法,然后在需要键盘声音的任何位置调用此方法:但它根本不起作用。
我的方法有什么错误吗?如果有人成功使用playInputClick:
方法,请分享您的智慧。
谢谢