【发布时间】:2014-10-04 09:28:25
【问题描述】:
来自我的Custom Keyboard,我想知道用户是否在他们的文本中选择了某些内容(以及它的范围)。按照文档,我认为我可以利用UITextInputDelegate 协议提供的回调:
- selectionWillChange(textInput: UITextInput)
- selectionDidChange(textInput: UITextInput)
- textWillChange(textInput: UITextInput)
- textDidChange(textInput: UITextInput)
但是,selectionWill/DidChange 回调永远不会被调用。如果我更改文本中的选择,则会触发其他回调 (textWill/DidChange)。由于这已经很奇怪,我遇到的问题是 textInput 参数始终为零。但我需要它,因为我想访问selectedTextRange 来解决我的问题。
任何想法如何在自定义键盘实现中检索当前选定的文本和/或其范围?
【问题讨论】:
-
你能发布一些代码吗?
-
您能否指导我如何从输入视图中获取文本。我在 textInput 委托中得到空值。提前致谢
-
@ImranAhmed:这实际上是这个问题的重点。不幸的是,这似乎是不可能的(对于自定义键盘)
-
嗨,非常感谢您的回复。我能够从输入视图中获得刺痛。与您在下面的评论中提到的相同。但我不知道为什么有些人害怕分享一些有用的代码。这是我用来从输入视图中获取字符串的代码。 NSString *str=[self.textDocumentProxy documentContextBeforeInput];
标签: ios delegates custom-keyboard