我想获得当前正在UITextField中输入的单词。
案例1:
你好
如果光标位于第二个 e 之后(意味着 e 刚刚输入,则应返回那里一词
案例2:
用户从hello中删除 o (光标在第二个 l 之后),然后应该返回地狱这个词
我有一些代码,但它返回UITextField中的所有文本。
postView.textView.delegate = self
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let text = (textView.text as NSString?)?.replacingCharacters(in: range, with: text)
return true
}
更新1: 我已经完成了这些类似的问题,但这些对我来说并不适用。
答案 0 :(得分:4)
尝试下面的代码,它在我的最后工作。
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let nsString = textView.text as NSString?
let newString = nsString?.replacingCharacters(in: range, with: text)
let arr = newString?.components(separatedBy: " ")
self.lblWord.text = arr?.last
return true
}