Ich möchte eine NSPopover
von einer NSToolbarItem
Schaltfläche in meiner Symbolleiste zeigen.
(d. h. unter dem Knopf positioniert).
Idealerweise möchte ich das NSView
der Schaltfläche an das Popover übergeben, um es zu positionieren.
Meine Frage ist, wie bekomme ich die NSView
der NSToolbarItem
?
[toolbarbutton view]
gibt immer nil zurück.
Die Antwort scheint im Video für die 2011 WWDC-Sitzung 113, "Full Screen und Aqua Changes" zu sein. Im Grunde legen Sie einen NSButton in das NSToolbaritem und verwenden Sie die Ansicht davon.
Ein Blogeintrag ist hier: Ссылка , und ein Beispielprojekt ist auf github bei Ссылка
Alle im Sprite von Ссылка !
Anstatt die Sicht vom IBAction-Absender zu erhalten, verbinden Sie ein IBOutlet direkt mit dem Symbolleistenelement und verwenden Sie dieses, um die relative Sicht zu erhalten:
In Ihrer Header-Datei:
%Vor%In Ihrer Implementierungsdatei, um das Popover anzuzeigen:
%Vor%Dies funktioniert auch, um Popups aus Menüoptionen innerhalb eines Werkzeugleistenelements anzuzeigen.
Während ich erreicht habe, dass der Popover mit dem von Stuart Tevendale erwähnten Ansatz gezeigt wurde, stieß ich auf Probleme, als ich versuchte, NSToolbarItems
mit NSToolbarDelegate
zu validieren (aktivieren / deaktivieren):
Ich würde daher empfehlen, kein Popover von NSToolbarItem
anzuzeigen. Eine Alternative könnte ein Seitenblatt sein: Wie man ein NSPanel als zeigt ein Blatt
Tags und Links cocoa nstoolbaritem nsview