我正在为 iOS 8 制作自定义键盘扩展,但未能成功反映当前在位于键盘顶部的 UILabel 上键入的单词(想想自动更正)。到目前为止,我写的代码反映了光标之前的句子,而不是写的时候,而是光标从一个位置移动到另一个位置。我要实现的目标与本机键盘中的第一个自动更正框完全相同。有人介意告诉我我做错了什么吗?
代码:
override func textWillChange(textInput: UITextInput) {
var tokens = (self.textDocumentProxy as! UITextDocumentProxy).documentContextBeforeInput .componentsSeparatedByString(" ") as NSArray
var lastWord = tokens.lastObject as! String
println(lastWord)
bannerView?.btn1.setTitle(lastWord, forState: .Normal)
}
我尝试设置一个条件,即如果 beforeCursor 包含空格/句点/逗号以将按钮标题设置为""
但从长远来看效率不高,因为我需要获取单词才能进行自动更正功能。
编辑:
我已经弄清楚了如何在光标之前获取单词(更新了上面的代码),但不知道如何在添加每个字母时更新标签。func textWillChange(textInput: UITextInput)
行不通。不是我是她。
谢谢!