Chcę utworzyć niestandardowy przełącznik dla mojej aplikacji, w którym dostarczam trzy obrazy dla możliwych stanów (włączony, wyłączony, mousedown). Cały wygląd jest zawarty w obrazach, więc nie chcę, aby kakao podświetliło (przyciemnił) sam przycisk podczas mousedown.Dostosowywanie obiektu NSButtonCell za pomocą obrazów i podświetlanie
W tym momencie utworzyłem podklasę NSButtonCell, przeciągnąłem przycisk ukosowania NSButtonTypeMomentaryChange do mojego widoku i dostosowałem typ klasy komórki przycisku do mojej podklasy. Podklasa właśnie wdraża awakeFromNib spróbować ustawić pewne pożądane zachowanie:
- (void)awakeFromNib
{
[self setShowsStateBy:NSContentsCellMask];
[self setHighlightsBy:NSContentsCellMask];
}
co uważałem (zgodnie z dokumentacją) by wyłączyć mousedown-ciemnienie przycisku. To nie.
To gdzie teraz stoję i mam dwa pytania:
- Jak mogę ustawić klasę ButtonCell po prostu pokazać moją przygotowany obraz na mousedown i nie ciemnieją/rysować granice wokół przycisku?
- Jaki byłby najczystszy/najodpowiedniejszy sposób implementacji innego zachowania przełącznika, tj. Pokazywania pozycji wyłączenia/włączenia w zależności od poprzedniego stanu i możliwości prawidłowego przekazania swojego stanu innym obiektom?
To wszystko, dziękuję. – mss