获取正在键入的最后一个单词

时间:2017-06-06 03:57:23

标签: ios swift

我想获得当前正在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: 我已经完成了这些类似的问题,但这些对我来说并不适用。

Get currently typed word in UITextView

Get word that is being typed

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
}