Как получить разделенный запятыми текст из UITextView - PullRequest
0 голосов
/ 30 марта 2020

Мне нужно получить названия стран из UITextview , как и изображение , если это одно слово, то оно работает абсолютно нормально. Что я делаю, так это то, что я делаю токены на слова, но в некоторых странах есть несколько слов, тогда как я могу получить их одним кликом по любому из них? Шаблон всегда будет одинаковым, текст через запятую. Любая идея, как я могу достичь этого. Мой код выглядит следующим образом.

topcountryTxtView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(didReceiveGestureOnText(recognizer:))))

@objc func didReceiveGestureOnText(recognizer: UITapGestureRecognizer) {
guard let textView = recognizer.view as? UITextView else {return}
let point = recognizer.location(in: textView)
guard let detectedWord = getWordAtPosition(point, textView: textView) else {return}
wdPrint("selected word : \(detectedWord)")
}

func getWordAtPosition(_ point: CGPoint, textView: UITextView) -> String?{
if let textPosition = textView.closestPosition(to: point){
if let range = textView.tokenizer.rangeEnclosingPosition(textPosition, with: .sentence, inDirection: UITextDirection(rawValue: 1)){
return textView.text(in: range)
}
}
return nil
}
...