我有一个菜单应用程序,我从菜单项启动NSPanel:当用户点击菜单项时,我懒洋洋地实例化自定义NSWindowController(第一次),然后我显示它调用showWindow :
自定义NSViewController链接到xib文件:
这是我创建它的方式:
// @property (nonatomic,strong) AddFeedController* addFeedController;
- (AddFeedController*) addFeedController
{
if (!_addFeedController)
{
_addFeedController = [[AddFeedController alloc]initWithWindowNibName:@"AddFeedController"];
}
return _addFeedController;
}
问题是,如果我尝试在这两个文本字段之一中粘贴一些文本,它就不会粘贴任何内容并发出哔哔声。
编辑
我设法恢复原始菜单(我必须从另一个项目的xib中复制它,因为只识别原始文件),并且我以这种方式修改了 addFeedController 访问器: / p>
- (AddFeedController*) addFeedController
{
if (!_addFeedController)
{
_addFeedController = [[AddFeedController alloc]initWithWindowNibName:@"AddFeedController"];
[_addFeedController.window setLevel: NSPopUpMenuWindowLevel];
}
return _addFeedController;
}
我还修改了显示窗口的方法:
- (IBAction) launchFeedController : (id) sender
{
[self.addFeedController showWindow: self];
// I added these lines:
[NSApp activateIgnoringOtherApps:YES];
[self.addFeedController.window makeKeyAndOrderFront:self];
}
第一次立即显示面板,没有问题。但是,当我关闭面板并尝试再次启动它时,它不会出现。