我目前正在实施翻译应用程序。一个当用户从UITextView中选择一个单词时,该应用程序会转换为另一种语言。
我想将选择的选项仅限于整个单词,例如:
“Hello World”而不是“Hello Wo”
类似于在字典中定义单词时的iOS Kindle应用程序。
我的.h文件中有UITextViewDelegate。
我目前在我的.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中选择整个单词?因此,选择在整个单词块中递增。
答案 0 :(得分:2)
您可以将自己添加为文本字段的inputDelegate
并实施selectionDidChange:
。选择更改后,您可以使用positionWithinRange:atCharacterOffset:
调查所选范围的空白区域。找到所需范围后,您可以更新selectedTextRange
。