2013-07-28 57 views
1

代碼應該顯示一個上下文菜單,當你點擊一個按鈕,但當菜單出現時,它總是出現方式更多的權利和更高的應該是,而不是在點擊按鈕的位置(或鼠標,因爲它在點擊時在按鈕上)。NSMenu的位置的錯誤唱popUpContextMenu:withEvent

- (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

您需要使用[_window convertScreenToBase:[NSEvent mouseLocation]],不[NSEvent mouseLocation]