Ich versuche die tokenisierte Suchfunktion von Mail.app und Finder.app auf 10.7+ zu emulieren, wo es ein NSSearchField mit einem Suchlupensymbol auf der linken Seite gibt und die (x) Taste auf der linken Maustaste rechts, enthält aber auch Tokens im Suchfeld.
Gibt es eine Möglichkeit, NSSearchField eine NSTokenFieldCell anstelle einer NSSearchFieldCell zu verwenden? Ich habe versucht, -setCell:
auf der NSSearchField-Instanz aufzurufen, was funktioniert und scheint, die Zelle durch den Aufruf von po [searchField cell]
im Debugger auszugeben, aber die Zeichnung des Suchfelds bricht und kein Textfeld wird gezeichnet. p>
Komme ich das richtig an oder gibt es einen besseren Weg? Danke!
Update 25/10/2016 : Ich habe mithilfe des Accessibility Inspectors festgestellt, dass Finder und Mail eine Mischung aus privaten Unterklassen verwenden:
SGTSearchField : NSSearchField
SGTSearchFieldCell : NSSearchFieldCell
Diese sind Teil eines privaten Frameworks namens SGTTokenFieldCell : NSTokenFieldCell
. Hoffentlich wird Apple diese Kurse in Zukunft veröffentlichen. Stellen Sie sicher, dass Sie ein Radar einreichen , wenn Sie diese Funktion auch öffentlich sehen möchten.
Die beste Antwort, die ich für euch zwei habe, ist, einfach mit einem NSTokenField zu gehen. Sie können es möglicherweise ändern, um das kleine Suchsymbol anzuzeigen. Aber wenn das nicht make oder break ist, können Sie eine Menge von Token-Funktionalität von NSTokenField erhalten.
Tags und Links cocoa nstokenfield nscell nssearchfield nstokenfieldcell