Get currently typed word in UITextView

前端 未结 3 1133
耶瑟儿~
耶瑟儿~ 2020-12-11 13:25

I\'m trying to make a \"tagging window\" much like the one used in Facebook where you type \"@\" and it make suggestions among your friends on which one to tag. I\'d like th

3条回答
  •  长情又很酷
    2020-12-11 13:39

    This works for me.

    extension UITextView {
    
    var currentWord : String? {
    
        let beginning = beginningOfDocument
    
        if let start = position(from: beginning, offset: selectedRange.location),
            let end = position(from: start, offset: selectedRange.length) {
    
            let textRange = tokenizer.rangeEnclosingPosition(end, with: .word, inDirection: 1)
    
            if let textRange = textRange {
                return text(in: textRange)
            }
        }
        return nil
       }
    }
    

提交回复
热议问题