当您单击按钮时,代码应该显示一个上下文菜单但是当菜单出现时,它总是显示在右侧和更高的位置,然后它应该是,而不是在单击按钮(或鼠标以后)的位置点击时它就在按钮上。
- (IBAction)menu:(id)sender {
[NSMenu popUpContextMenu:menu withEvent:[NSEvent mouseEventWithType:NSLeftMouseUp location:[NSEvent mouseLocation] modifierFlags:0 timestamp:0 windowNumber:[_window windowNumber] context:nil eventNumber:0 clickCount:0 pressure:0] forView:menuView];
}
注意:该方法需要很长时间才能完全放入标题
答案 0 :(得分:0)
您需要使用[_window convertScreenToBase:[NSEvent mouseLocation]]
,而不是[NSEvent mouseLocation]