自定义创建窗口自动选择上下文菜单选项自动关闭

时间:2017-02-08 12:53:29

标签: objective-c macos cocoa xcode7 nsmenu

我已经建立了一个自定义窗口;在这个窗口中,我正在显示nsbuttons。 如果单击按钮,我将显示上下文菜单。 问题是我不想关闭我的窗口但是只要我从nsmenu选择选项就会触发鼠标退出事件。

我想阻止这种效果。 我无法理解。

任何帮助将不胜感激。 在此先感谢

-(void)rightMouseDown:(NSEvent *)theEvent
{
     NSMenu *theMenu = [[NSMenu alloc] initWithTitle:@"Contextual Menu"];

            [[theMenu addItemWithTitle:@"Remove From List" action:@selector(removeWithIdentifier) keyEquivalent:@""] setTarget:self];
            [[theMenu addItemWithTitle:@"Open" action:@selector(openAppWithIdentifier) keyEquivalent:@""] setTarget:self];

            [theMenu popUpMenuPositioningItem:nil atLocation:NSMakePoint(self.bounds.size.width-20, self.bounds.size.height-10) inView:self];
}

-(void)removeWithIdentifier
{
     //My custom view is getting mouse exited event from here
     //I want prevent it.
}

1 个答案:

答案 0 :(得分:0)

嘿朋友我得到了答案。

我发现如果你的窗口级别是“NSPopUpMenuWindowLevel”及其 view已经在其上实现了任何上下文菜单,然后此视图将始终获得鼠标退出事件。

张贴以供将来参考。

感谢。