keyboard-shortcuts - 剪切/复制/粘贴键盘快捷键在 NSPopover 中不起作用

标签 keyboard-shortcuts nspopover

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

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

有人遇到过类似的问题吗?

相关示例可在此处获取:https://github.com/mixtly87/NSPopoverTest

最佳答案

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

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

即使主菜单不会显示(因为您只执行 NSStatusBar 项目),但由于“编辑”菜单中的命令键(即拦截 cmd 的内容),您需要该主菜单-X、cmd-C 和 cmd-V)。这些命令键将被发送到您的文本字段或 WebView ,无论第一响应者是什么。

More info can be seen here .

2)

我通过添加以下内容使您的文本字段成为第一响应者:

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

到您的 ViewController.m 文件。

3)

您还需要将状态项调出的窗口设为关键窗口。在您的示例应用程序中,您确实有一个被注释掉的 canBecomeKeyWindow 方法。我取消了它的注释并始终返回 TRUE

More info can be seen here.

希望这有帮助!

关于keyboard-shortcuts - 剪切/复制/粘贴键盘快捷键在 NSPopover 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49637675/

相关文章:

php - 设置快捷方式以替换 VIM 中轻松选择的字符串

cocoa - NSTextView 中插入符号下方的 NSPopover

objective-c - NSOutlineView reloadData 关闭我的 NSPopOver

macos - NSTextfield NSPopover 的透明背景

macos - 动画 NSPopover 实现

javascript - 制作捕鼠器点击链接

eclipse - eclipse中片段的快捷键

javascript - jquery中的简单组合键

eclipse - WebStorm 中 Eclipse 的 Alt+左/右箭头键相当于什么?