2013-06-30 42 views
0

我试图执行我认为在Cocoa中相当简单的任务(Mac OSX 10.8),它将剪贴板中的字符串粘贴到NSTextField中。NSTextField isFirstResponder

我知道如何访问剪贴板中当前被保存的字符串,但我目前的问题是我无法确定我的UI中的3个文本字段中的哪一个被选中。

尝试1:

当执行“粘贴”命令,要求每个文本字段,你选择?“,从iOS的开发,我会做到这一点有点像[aTextField isFirstResponder],但这种方法没有按” t存在于NSTextField中,我无法找到相同的结果。

尝试2:

当任何3个NSTextFields被选择,即TF存储为“主动”字段,以及当用户选择贴,在那里的字符串。这里的问题是,如果我把我的控制器为代表的文本字段,并实现:

-(void)controlTextDidBeginEditing:(NSNotification *)obj {} 

当用户编辑文本,而不是当他们只是选择它这只是所谓的(如通常会发生当用户想粘贴在顶部),所以在这种方法中,我仍然不知道当前选择哪个文本字段,并因此不知道粘贴文本的位置。

有谁知道这个简单的任务应该如何处理mac OSX?我想要做的只是允许用户将剪贴板中的一些文本粘贴到文本框中!?

回答

0

您可以使用-[NSWindow firstResponder]从窗口中找到第一个响应者。然后你可以发送一个paste:动作。这就是编辑菜单中的标准粘贴项目的工作原理。

+0

我以为这会很简单,谢谢! – Mike