如何检查是否有选择?

时间:2015-02-07 23:58:20

标签: objective-c cocoa nstextfield

我有一个NSTextView,我需要检查一个单词(或其他任何东西)是否有选择(蓝色突出显示),而不仅仅是光标。我怎样才能做到这一点。 nil无法正常工作,我无法弄清楚。

2 个答案:

答案 0 :(得分:2)

NSTextView中可以有多个选择,方法selectedRanges返回所有选择的数组。如果只有一个游标,则此方法返回单个NSRangelocation给出光标所在的位置,length设置为零。

所以你的问题可以回答:

NSArray *allSelections = myTextView.selectedRanges;
BOOL hasSelection = allSelections.count > 1
                 || (allSelections.count == 1 && allSelections[0].length != 0);

HTH

答案 1 :(得分:0)

您可以使用[NSTextView selectedRanges]方法查看是否有选择。

if (self.textView.selectedRanges.count > 0) {
    NSLog(@"Some text is selected!");
}

您可能需要阅读documentation以获取更多信息。