2017-03-11 5 views
1

Ich versuche, einen benutzerdefinierten Badge-Zähler-Kreis auf einem NSButton in einem benutzerdefinierten NSToolbarItem hinzuzufügen.Benutzerdefiniertes NSToolbarItem mit Badge-Zähler

Es sollte wie folgt aussehen (mit dem roten Kreis und eine Reihe innen):

enter image description here

Ich habe versucht, es in dem Storyboard zu tun, indem Sie eine Inline-Schaltfläche Hinzufügen, aber ich habe nicht zu viel Kontrolle über seine Positionierung und auch Probleme beim Setzen einer Farbe auf das Abzeichen.

Fehlversuche:

enter image description here enter image description here

Dann habe ich versucht, diese Jungs Technik Umsetzung (I umgewandelt swift3): http://bertmcdowell.com/posts/2013/nstoolbarbadgeditem.html

Aber das Problem mit dieser Technik ist, dass sie die NSToolbarItem Unterklassen direkt also kann ich es nicht außerhalb der Grenzen des NSButton zeichnen. Hier ist das Ergebnis:

enter image description here

Ich fühle mich wie eine benutzerdefinierte Ansicht hinter dem NSButton müssen ziehen, so dass es Platz hat das Abzeichen in der oberen rechten Ecke zu ziehen, ohne abgeschnitten zu werden. Irgendwelche anderen Ideen?

+0

Ich habe Beispielprojekt meines konvertierten Swift 3-Projekts hochgeladen, das bertmcdowells Projekt verwendet: https://github.com/marcochiang/NSToolbarItemBadge –

Antwort

1

Eine Option besteht darin, entweder das Symbolleistenelement oder die Schaltfläche abzuleiten und eine Unteransicht hinzuzufügen, die das Badge zeichnet. Hier ist eine gegabelte Version Ihres Projekts, das dies tut: https://github.com/AriX/NSToolbarItemBadge

Verwandte Themen