我目前正在实现翻译应用程序。一个是当用户从 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 中选择整个单词?这样选择就会以整个单词 block 的形式递增。
最佳答案
您可以将自己添加为文本字段的inputDelegate
并实现selectionDidChange:
。当选择发生变化时,您可以使用 positionWithinRange:atCharacterOffset:
来调查选定范围周围的空白区域。找到所需范围后,您可以更新 selectedTextRange
。
关于ios - 仅选择整个单词 uiTextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21512310/