好的,这就是我想要的:
NSTextView
NSRange
吗?)我不确定该怎么做:我的意思是我的主要关注点是在
NSTextView
中获取当前位置并准确地理解该词(我知道有些Text插件支持该功能,但是我不确定最初的NSTextView
实现。 ..)是否有任何内置功能?或者,如果没有,有什么想法吗?
更新:光标位置(已解决)
NSInteger insertionPoint = [[[myTextView selectedRanges] objectAtIndex:0] rangeValue].location;
现在,仍在尝试寻找一种解决方法来指定基础单词...
最佳答案
这是一种方法:
NSUInteger insertionPoint = [myTextView selectedRange].location;
NSString *string = [myTextView string];
[string enumerateSubstringsInRange:(NSRange){ 0, [string length] } options:NSStringEnumerationByWords usingBlock:^(NSString *word, NSRange wordRange, NSRange enclosingRange, BOOL *stop) {
if (NSLocationInRange(insertionPoint, wordRange)) {
NSTextStorage *textStorage = [myTextView textStorage];
NSDictionary *attributes = @{ NSForegroundColorAttributeName: [NSColor redColor] }; // e.g.
[textStorage addAttributes:attributes range:wordRange];
*stop = YES;
}}];
关于objective-c - 在NSTextView中获取并突出显示当前单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12554501/