2010-09-26 27 views

Odpowiedz

63

Ustaw typ przycisku jako NSMomentaryChangeButton.

[myBtn setButtonType:NSMomentaryChangeButton]; 

Jeśli używasz NSMomentaryPushInButton, możesz uzyskać szary prostokąt nad przyciskiem po kliknięciu.

+0

A co jeszcze? Czy możesz dodać trochę więcej informacji. Sprawdź to [pytanie metaSO] (http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question) i [Jon Skeet: Coding Blog] (http://msmvps.com/blogs/jon_skeet/archive/2009/02/17/answering-technical-questions-helpfully.aspx) na temat udzielania poprawnej odpowiedzi. – Yaroslav

+1

Zmieniono moją odpowiedź. Nie ma nic więcej. –

+8

To zadziałało dla mnie. – arooo

12

Powinieneś być w stanie to zmienić, zmieniając maskę stanu. Aby to zrobić, sprawdź właściwości highlightsBy: i showsStateBy: z NSButtonCell - służą one do ustawiania efektu prasy i wyświetlania efektu. Odpowiednie stałe dla tych metod znajdują się w NSCell reference page.

+4

Długo szukałem flag. Oto rozwiązanie jako dodatek (bardzo do Seana Richa za pomoc): [self.button.cell setShowsStateBy: NSPushInCellMask]; [zestaw self.button.cellHighlights: NSContentsCellMask]; jeśli zmienisz ZASADZKI maski, tylko twoja grafika będzie pokazana jak wyszczególniono w IB. – JackPearse

+0

To sprawiło, że mój dzień. Dzięki! – Stream

+0

Dzięki Sean, poprowadziłeś mnie we właściwym kierunku! – ixany

0

Jeśli używasz NSBox, upewnij się, że twój przycisk wewnątrz NSBox w hierarchii. Następnie użyj "chwilowego wciskania" jako typu przycisku. Przycisk zostanie przyciemniony po kliknięciu, ale nie będzie żadnej granicy.

Kiedy użyłem NSBox z NSButton na tym samym poziomie hierarchii, zobaczyłabym granicę po kliknięciu.

Powiązane problemy