无法在菜单项的弹出式面板中粘贴文本

时间:2015-05-11 12:56:41

标签: objective-c cocoa nstextfield nspanel

我有一个菜单应用程序,我从菜单项启动NSPanel:当用户点击菜单项时,我懒洋洋地实例化自定义NSWindowController(第一次),然后我显示它调用showWindow :

自定义NSViewController链接到xib文件:

enter image description here

这是我创建它的方式:

// @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];
}

第一次立即显示面板,没有问题。但是,当我关闭面板并尝试再次启动它时,它不会出现。

0 个答案:

没有答案