Próbuję emulować tokenizowaną funkcję wyszukiwania Mail.app i Finder.app na 10.7+ gdzie jest coś, co wygląda na NSSearchField z ikoną lupy wyszukiwania po lewej stronie i przyciskiem anulowania (x) po prawej stronie , ale zawiera także żetony wewnątrz pola wyszukiwania.Czy NSSearchField korzysta z NSTokenFieldCell?
Czy istnieje jakiś sposób, aby NSSearchField użyć NSTokenFieldCell zamiast NSSearchFieldCell? Próbowałem wywoływać -setCell:
na instancji NSSearchField, która działa i wydaje się wymieniać komórkę, o czym świadczy wywołanie po [searchField cell]
w debuggerze, ale rysunek pola wyszukiwania ulega przerwaniu i nie jest rysowane żadne pole tekstowe.
Czy podchodzę do tego we właściwy sposób, czy jest lepszy sposób na zrobienie tego? Dzięki!
Aktualizacja 25.10.2016: Korzystanie z Accessibility Inspector stwierdziliśmy, że Finder i Poczta wykorzystywać mieszankę prywatnych podklasy:
SGTSearchField : NSSearchField
SGTSearchFieldCell : NSSearchFieldCell
SGTTokenFieldCell : NSTokenFieldCell
Są one częścią prywatnego szkieletu o nazwie Suggestions.framework
. Mam nadzieję, że Apple upubliczni te klasy w przyszłości. Jeśli chcesz, aby ta funkcja była dostępna publicznie, upewnij się, że jest to file a radar.
Przyda mi się to samo pytanie przy próbie wdrożenia tokenizowanego paska wyszukiwania. Ponieważ wcześniej korzystałem z NSSearchField, szukam również metody łączenia NSSearchField i NSTokenField. Czy masz jakieś rozwiązanie? –