Frage

Ich versuche, einen Popup-Knopf zu machen, dass zeigt immer ein + als Bild und wenn Sie darauf klicken, wird ein Kontextmenü erscheint, dass ermöglicht es Ihnen, zu entscheiden, welche Art von Objekt, das Sie hinzufügen möchten. Gibt es trotzdem, dies mit einem NSPopupButton zu tun? Ich sah in den Spezifikationen für NSPopupButotn, dass das Verfahren SetImage keine Wirkung hat, so scheint es, dass dies wahrscheinlich nicht zur Arbeit mit dieser Klasse gehen. Ist das richtig?

War es hilfreich?

Lösung

Ja, das sichtbare Auftreten von NSPopUpButton ist falsch für das, was Sie wollen.

Was Sie wollen, ist eine regelmäßige NSButton mit einem Menü angebracht. In Interface Builder löschen Sie den Titel, stellen Sie die Lünette auf Platz, die Position zum Zentrum Symbol-only-Version und das Bild NSAddTemplate.

Erstellen Sie dann ein NSPopUpButton, setzen Sie ihn auf "Pull Down", versteckt, und richten Sie sie / set seine Größe auf der Unterseite des NSButton.

Schließlich connect performClick: im NSButton zu performClick: auf dem NSPopUpButton.

Das wird kein Klick-halten auf die Schaltfläche behandeln; für, dass Sie einen Code schreiben müssen, um eine (nicht-Zeichnung) NSPopUpButtonCell zu verwenden.

Andere Tipps

Warum nicht einfach eine NSPopupButton benutzen? Mit 2 Tasten, um eine Aufgabe zu erfüllen scheint nicht richtig und wie erwähnt ist es nicht in der normalen Art und Weise verhalten, auf der Schaltfläche in Bezug auf zu halten.

Um die Popup-Schaltfläche erhalten arbeiten, wie Sie, wie ... es setzen ein Pull-down-Typ zu sein. Sie nicht den Popup-Knopf selbst einen beliebigen Namen oder Bild geben. Wenn die Popup-Schaltfläche keinen Namen oder Bild hat dann der erste Menüpunkt wird der Titel der Taste. Menüpunkte können Bilder haben, so geben Sie nicht dem ersten Menüpunkt einen Titel, es nur das Bild gesetzt und das ist das Bild, das Sie auf der Popup-Schaltfläche sehen werden. Für den Rest der Menüpunkte, fügen Sie sie einfach als normal nach dem ersten Menüpunkt. Beachten Sie, dass, wenn Sie programmatisch die Menüpunkte in Code ändern, nur um sicher den ersten Menüpunkt in Takt verlassen macht und wird alles in Ordnung sein. Ich tue dies in ein paar meiner Anwendungen ohne Probleme.

Der Schlüssel ist NSPopUpButtonCell's setUsesItemFromMenu verwenden :. Der Apple-docs ist ein Beispiel dafür, wie diese zu verwenden.

Eine Popup-Taste nimmt das Bild und Titel des ersten Menüpunktes im Menü mit ihm verbunden ist. So ist es besser, das Bild aufzunehmen, die Sie angezeigt werden sollen, wie Sie Taste, als erster Menüpunkt Popup und dann seine Sichtbarkeit verbergen.

Wenn Sie noch nicht klar sind, dann, sobald das folgende Video durchlaufen, wird es sicherlich verstehen Sie.

Dieses Tutorial zeigt, wie ein Symbolleiste Element (NSToolbarItem) mit Drop-Down-Menü für NSToolbar im Interface Builder erstellen: Link-

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top