剪切/复制/粘贴NSPopover中不起作用的键盘快捷键

时间:2018-04-03 19:22:26

标签: keyboard-shortcuts nspopover

我有一个基于macOS NSPopover的托盘应用程序,它显示一个带有登录字段(用户名和密码)的popover。

问题是用户无法将其电子邮件或密码复制粘贴到文本字段中。由于某种原因,popover似乎不允许键盘快捷键。

有没有人有类似的问题?

此处提供相关示例:https://github.com/mixtly87/NSPopoverTest

1 个答案:

答案 0 :(得分:1)

这不是最容易解决的问题,您需要做一些事情才能使其发挥作用。

1)将MainMenu添加到MainMenu.xib文件中。

即使主菜单不会显示(因为你只是在做一个NSStatusBar项目),你需要那个主菜单,因为编辑菜单中的命令键(即拦截 cmd -X, cmd -C& cmd -V's)。这些命令键将被发送到您的文本字段或您的webview,无论第一响应者是什么。

More info can be seen here

2)

我通过添加以下内容使您的textfield成为第一个响应者:

- (void)viewDidAppear
{
    [super viewDidAppear];
    [self.textField becomeFirstResponder];
}

到您的ViewController.m文件。

3)

您还需要使状态项的窗口成为关键窗口。在您的示例应用中,您确实有一个注释掉的canBecomeKeyWindow方法。我取消注释并始终返回TRUE

More info can be seen here.

希望这有帮助!