我慢慢地学习目标-C和可可,只有这样,才我看到迄今为止捕捉关键事件中的文本意见是采用代表团,但我有麻烦找到有用的文件和例子如何实现这样的解决方案。任何人都可以点我在正确的方向或提供一些第一手帮助?

有帮助吗?

解决方案

一般来说,你的方式实现它只是添加所需要的功能,以你的控制器上,并设定它的委托。例如,如果你想码运行时景载荷,你只是代表你看到控制,并实施awakeFromNib功能。

因此,检测的一个关键的新闻中文本来看,确保你的控制器的文本景的委托,然后实施这样的:

- (void)keyUp:(NSEvent *)theEvent

注意,这是一个继承NSResponder方法,不是一个NSTextView方法。

其他提示

只是一个小的语法突出:

不突出显示整个案文在一次-这是 非常 慢。也不突出最后编辑的文本使用的-editedRange-这是非常缓慢的过如果用户将大量的文本为文本图。

而不是你需要突出可见的文本,这样做是这样的:

NSRect visibleRect = [[[textView enclosingScrollView] contentView] documentVisibleRect];
NSRange visibleRange = [[textView layoutManager] glyphRangeForBoundingRect:visibleRect inTextContainer:[textView textContainer]];

然后你给visibleRange到你的突出代码。

重要的是要告诉我们你是真的想要完成更高水平的目标,你认为捕捉关键事件的一个NSTextView将地址。

例如,当有人问我如何捕捉关键事件的一个NSText 什么他们真的想知道的是如何验证输入的领域。这是通过设领域的格式的实例NSFormatter(不论是一的格式包括在可可或一个自定义),而不是通过处理键。

因此,考虑,例如,什么是你真的要完成?

我已经做了一些艰苦的挖掘,并且我找一个回答我自己的问题。我会得到它的下面,但由于两个伙计们谁回答。我认为,堆叠的溢出是一个梦幻般的网站已经--我希望有更多的Mac开发人员查找他们的方式在一次测试结束--这可能是一个伟大的资源用于其他开发商看过渡到平台。

因此,我建议由丹尼,找到我的回答中国代表团。我不明白从丹尼的员额,还有一套委派启用的方法授权的对象,是代表必须实现所述的事件。所以控,我能够找到方法textDidChange,它完成了什么我想在一个更好的办法比简单地捕捉关键的印刷机会这样做。所以,如果我实现这个在我的控制器:

- (void)textDidChange:(NSNotification *)aNotification;

我可以应对的文本正在编辑中。还有,当然,其他方法可用,我很兴奋要跟他们玩,因为我知道我会学会很多,因为我做的。再次感谢伙计们

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top