objective-c - 从 UITextView 中的点击获取单词

标签 objective-c ios

我正在尝试通过点击获取一个词。以下函数的 sender 来自 UITextView 上的 UIGesture, sentence.

- (IBAction)printWordSelected:(id)sender {
    NSLog(@"Clicked");

    CGPoint pos = [sender locationInView:self.view];
    UITextView *_tv = sentence;

    NSLog(@"Tap Gesture Coordinates: %.2f %.2f", pos.x, pos.y);

    //eliminate scroll offset
    pos.y += _tv.contentOffset.y;

    //get location in text from textposition at point
    UITextPosition *tapPos = [_tv closestPositionToPoint:pos];

    //fetch the word at this position (or nil, if not available)
    UITextRange * wr = [_tv.tokenizer rangeEnclosingPosition:tapPos withGranularity:UITextGranularityWord inDirection:UITextLayoutDirectionRight];

    NSLog(@"WORD: %@", [_tv textInRange:wr]);
}

这是我已经拥有的,但是它将单词打印为 NULL

最佳答案

“尝试将 pos 更改为 pos = [sender locationInView:_tv],然后删除 pos.y 调整。– rmaddy”

关于objective-c - 从 UITextView 中的点击获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884520/

相关文章:

ios - 未调用 CAAnimation 委托(delegate)方法

iphone - PhoneGap + 语音识别SDK

objective-c - 如何使用 union 结构创建二进制数据包?

iphone - 从文档目录加载图像

objective-c - 如何查看字符串是否包含子字符串(objective-c)

iphone - "Multiple methods named...."问题

ios - 为什么自定义导航栏按钮图像会被拉伸(stretch)?

iphone - 如何在运行时将一行插入 iPhone 上的 UITableView?

ios - 解决有关自定义单元格的编译时错误

ios - 在 iOS 中,如何仅将一侧的标题图像拉伸(stretch)到 100%?