cwe*_*ger 5 delegates ios custom-keyboard
从我,Custom Keyboard我想知道用户是否在他们的文本(及其范围)中选择了一些东西.根据文档,我认为我可以利用UITextInputDelegate协议提供的回调:
但是,selectionWill/DidChange从不调用回调.如果我在文本中更改选择,则会触发其他回调(textWill/DidChange).由于这已经很奇怪,我遇到的问题是textInput参数总是为零.但我需要它,因为我想访问selectedTextRange以解决我的问题.
有关如何在自定义键盘实现中检索当前所选文本和/或其范围的任何想法?
如果我没有完全错的话,这是不可能的。(您指的是 iOS 8 上自己的键盘应用程序;而不是您自己的应用程序中自己的键盘的实现,对吧?)
您的键盘无法访问用户实际编写的文本,因为 UITextView 位于完全不同的应用程序中。
来源:https ://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html - “自定义键盘无法使用的系统键盘功能”,第 7 段
由于自定义键盘只能在其 UIInputViewController 对象的主视图内进行绘制,因此它无法选择文本。文本选择由使用键盘的应用程序控制。如果该应用程序提供编辑菜单界面(例如剪切、复制和粘贴),则键盘无法访问它。自定义键盘无法在插入点附近提供内联自动更正控件。
如果您在自己的应用程序中引用自己的实现:您是否在 IB 中选择了正确的类作为文本字段委托?您是否已将 UITextInputDelegate 添加到类的头文件中(您用英语这样写吗?)?然后应该调用您的委托方法...另外一些示例代码可能很有用;)
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |