我有一个基于macOS NSPopover
的托盘应用程序,它显示一个带有登录字段(用户名和密码)的popover。
问题是用户无法将其电子邮件或密码复制粘贴到文本字段中。由于某种原因,popover似乎不允许键盘快捷键。
有没有人有类似的问题?
答案 0 :(得分:1)
这不是最容易解决的问题,您需要做一些事情才能使其发挥作用。
1)将MainMenu添加到MainMenu.xib文件中。
即使主菜单不会显示(因为你只是在做一个NSStatusBar项目),你需要那个主菜单,因为编辑菜单中的命令键(即拦截 cmd -X, cmd -C& cmd -V's)。这些命令键将被发送到您的文本字段或您的webview,无论第一响应者是什么。
2)
我通过添加以下内容使您的textfield成为第一个响应者:
- (void)viewDidAppear
{
[super viewDidAppear];
[self.textField becomeFirstResponder];
}
到您的ViewController.m文件。
3)
您还需要使状态项的窗口成为关键窗口。在您的示例应用中,您确实有一个注释掉的canBecomeKeyWindow
方法。我取消注释并始终返回TRUE
。
希望这有帮助!