1

当你点击一个按钮时,代码应该显示一个上下文菜单,但是当菜单出现时,它总是出现在更右边和更高的地方,而不是在被点击的按钮的位置(或鼠标,因为它在单击时的按钮)。

- (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];
}

注意:该方法很长才能完全放入标题

4

1 回答 1

0

你需要使用[_window convertScreenToBase:[NSEvent mouseLocation]],而不是[NSEvent mouseLocation]

于 2014-03-24T05:30:12.350 回答