В настоящее время я реализую приложение для перевода. Тот, который, когда пользователь выбирает слово из UITextView, приложение переводит на другой язык.Выберите только целые слова uiTextView
Я хотел бы ограничить варианты выбора для только целых слов, например:
«Hello World», а не «Hello Wo»
Подобно приложения IOS Kindle при определении слов в словаре ,
У меня есть UITextViewDelegate в моем файле .h.
я в настоящее время в моей .m:
- (void)textViewDidChangeSelection:(UITextView *)textView{
[self translate];
}
и
- (void)translate {
if(![[self.descriptionTextView selectedTextRange] isEmpty]) {
NSString * selectedWord = [self.descriptionTextView textInRange:[self.descriptionTextView selectedTextRange]];
...
я затем, чтобы преобразовать это в encodedString и пожаров от Google Translate API. Есть ли способ выбрать только целые слова из UITextView? Так что выбор увеличивается в целых фрагментах слова.
Я не знаю, можно ли принудительно отбирать на полных словах, но один способ перейти оттуда - использовать регулярное выражение, чтобы найти кусок миров, начинающийся с символа '', заканчивающийся на '', ', . ','? ' или других меток, и содержит выбранный текст ... тогда у вас обязательно будут только полные слова. Я оставляю это, хотя в качестве комментария, если появится лучший ответ –
Вы всегда можете получить диапазон выбора и проверить, есть ли диапазон-1 = '' и диапазон + 1 = '' или пунктуация ('.', ' ,','!' и т.д). –
Я отдам это! – AJ9