只选择整个单词uiTextView

时间:2014-02-02 15:24:52

标签: ios uitextview word selection

我目前正在实施翻译应用程序。一个当用户从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中选择整个单词?因此,选择在整个单词块中递增。

1 个答案:

答案 0 :(得分:2)

您可以将自己添加为文本字段的inputDelegate并实施selectionDidChange:。选择更改后,您可以使用positionWithinRange:atCharacterOffset:调查所选范围的空白区域。找到所需范围后,您可以更新selectedTextRange