Original von mattik
Original von Tom9811
Es ist überhaupt kein Problem, sondern das richtige Verhalten. Weil dann in der Buttonzeile ohnehin rote und grüne Buttons sind und die Leiste eben die Farbe eines disabled zeigt.
Nein, rot wäre nicht richtig. Richtig wäre, da gar keinen Rand drum zu zeichnen, weil es kein Button ist. Es ist eine passive Fläche.
Und bei einer Buttoncell wäre das anders? Du meinst einen aktiven Button zu zeichnen sieht irgendwie passiver aus? Irgendwie kann ich dir hier nicht folgen.
Original von Tom9811
Also, gerade dieses Beispiel zeigt mir, dass die Farbe eines diabled gerade richtig ist!
Nur sieht die disabled-Version des Button dummerweise nicht so aus wie vom OP gewünscht.
Die Fläche zeigt etwas Passives. Bei dir zeigt sie etwas Aktives.
Original von Tom9811
Welche Events außer dem Neuzeichnen-Event sollen denn an einen disabled Button weitergeleitet werden?
Keine Ahnung. Es interessiert mich auch nicht. Button und ButtonCell können meinetwegen untereinander machen, was sie wollen. Ich rate nicht, ich weiß, dass in meinem View nichts anderes weitergeleitet wird.
Ich rate auch nicht. Ein disabled Button ist disabled.
Original von Tom9811
Ein Button-Control dürfte kaum Sourcecode besitzen, der sich nicht damit beschäftigt, irgendwas an seine Cell weiterzuleiten. Sonst würden nämlich Buttons in Tableviews nicht funktionieren. Mir fällt jetzt jedenfalls keine Funktionalität ad hoc ein, die einee reine Cell in einem Tableview weniger hätte.
Ich möchte eben nicht darüber spekulieren müssen, was die Innereien von Cocoa wohl tun. Ich baue mir lieber eine Lösung, in der mich das nicht interessieren muss.
Ich spekuliere nicht.
Ich möchte aber nicht spekulieren müssen, was Apple irgendwann mit irgendwelchen Cells in irgendwelchen Buttons macht. Deshalb nehme ich einen Button. Dann weiß ich: Das sieht aus wie ein Button.
Du hingegen spekulierst ganz schön darauf los, dass eine einzelne Buttoncell so aussieht wie ein Button.
Als nächstes spekulierst du darauf, dass das reine Zeichnen nur ein View verlangt, kein Control. Immerhin siehht das die Dokumentation anders. Die spricht nämlich davon, dass der "Besitzer" eine Instanz von NSControl oder einer Subklasse ist.
Original von Tom9811
Du willst also in deiner eigenen Klasse etwas herausnehmen, was ohnehin keine Funktionalität bietet. Ob ob das Ding in der Hierarchie NSButton oder NSHannoSeppCornflakes heißt, dürfte von keinem Interesse sein.
Wie das Ding heißt ist mir egal (außer in dem Fall von NSHannoSeppCornflakes - siehe seb2). Aber die Vererbungshierarchie hat eine Semantik: <Unterklasse> IS A <Oberklasse>. Das ist elementares OO-Prinzip und lässt sich nicht wegdiskutieren. Und die Fläche ist kein Button. Es ist eine passive Fläche.
Und eine Buttoncell verlangt ein Control und keine Fläche. So rein vom elementaren OO-Prinzip aus betrachtet.
Original von Tom9811
Damit hat man dann garantiert das Aussehen und garantiert keine Funktionalität.
Stimmt. Genau wie mit der anderen Lösung, nur komplizierter und ineffizienter.
Stimmt, sich einen Button im IB in ein Fenster zu ziehen, ist ziemlich unkompliziert.
(Falls du es noch nicht bemerkt hast: Das war ein Witz, wie kompliziert man es sich machen kann.)
Original von Tom9811
Ich würde ja einfach einen disabled Button nehmen …
Dann mach das - und schalt' mal beim Testen VoiceOver ein...
Und?
Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
									25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?

