Расположение экрана NSToolbarItem - PullRequest
3 голосов
/ 05 апреля 2010

Как узнать расположение кнопки на панели инструментов на экране? То есть получается прямоугольник NSToolbarItem? Кажется, что метод [NSToolbarItem view] всегда возвращает nil всякий раз, когда элемент панели инструментов является простой кнопкой действия, и поэтому я не мог использовать обычные методы NSView, чтобы точно определить положение кнопки на панели инструментов на экране.

Фон

Я пытаюсь использовать компонент MAAttachedWindow Мэтта Джеммелла, чтобы указать на конкретную кнопку панели инструментов. Для компонента требуется объект NSPoint, чтобы "указать" пользователю на место на экране.

Заранее спасибо.

1 Ответ

1 голос
/ 11 июня 2010

У меня случилась такая же проблема. Хотя я бы не сказал, что решил это, я нашел способ, который по крайней мере работает для моего сценария ... В своем действии ToolbarItem я выбираю текущее местоположение мыши - этого оказалось достаточно в этом случае. Пример реализации может выглядеть следующим образом:

- (IBAction)showOverlay:(id)sender {
    NSPoint clickedPoint = [self.window mouseLocationOutsideOfEventStream];
    self.overlayController = [[MyOverlayController alloc] initAtPoint:clickedPoint];
}
...