当NSTextView失去焦点时,我怎么知道?

时间:2011-02-05 15:44:37

标签: objective-c cocoa focus nstextview

我希望在失去焦点后清除NSTextView的选择。我怎样才能做到这一点?提前谢谢!

1 个答案:

答案 0 :(得分:10)

设置符合NSTextDelegate协议的委托对象(或使用您的app委托)。然后,您需要做的就是实现textDidEndEditing:以清除选择。来自docs

  

<强> textDidEndEditing:

     

通知代理文本对象已完成   编辑(它已经重新签署了第一响应者状态)。

     

- (void)textDidEndEditing:(NSNotification *)aNotification

类似的东西:

#ifndef NSZeroRange
#define NSZeroRange NSMakeRange(0,0)
#endif

- (void)textDidEndEditing:(NSNotification *)aNotification {

    [myTextView setSelectedRange:NSZeroRange];
}