Frage

Ich habe ein Einstellungsfenster in meiner Anwendung, in dem ich eine NSColorWell habe für einige Hintergrundfarbeinstellung und eine Schaltfläche, die für die Auswahl einer Schriftart eines NSFontPanel öffnet.

Das Verhalten, das ich haben will, ist die folgende:

  • Wenn ich auf dem NSColorWell klicken dann etwas Farbe in das Panel ziehen über, ich will es die Hintergrundfarbe ändern in meinem Bereich "Vorschau" als ich ziehe.

  • Wenn ich auf der Schaltfläche „Schrift ...“ Button, ich meinen NSFontPanel zeigen und wie ich eine Schriftart wählen, sollte es auch in meinem Bereich „Vorschau“ ändern. Sagen wir, ich klicken Sie auf die Farbe Taste des NSFontPanel, möchte ich ändern Sie die Farbe meiner Schrift .

Im Wesentlichen Ich versuche, beide Farbtafeln zu machen (obwohl von dem, was ich dort gesehen habe, ist wirklich nur ein gemeinsames Panel pro app) arbeiten unabhängig voneinander.

Im Moment sage ich die Schriftart und Farbtafeln geöffnet haben. Wenn ich auf die Farbe klicken und auf meinem Fenster aktiviert es, dann, wenn ich in der Schrifttafel auf der Farbtaste klicken Sie auf die Farbe nicht die Schrift nicht beeinträchtigt, sondern vielmehr den Hintergrund, da die Farbe gut aktiviert bleibt, und weil ich für Farbänderung registriert Benachrichtigungen in meiner Controller-Klasse.

Könnte jemand geben Sie mir ein Beispiel für eine bestimmte Art und Weise, diese Art von Verhalten zu codieren? Es scheint eine Reihe von verschiedenen Möglichkeiten, um die NSFontPanel und NSColorPanel zu machen zeigen (NSFontPanel oder NSFontManager?), Sowie viele Möglichkeiten, um die Ereignisse zu behandeln von den Platten kommen selbst (Benachrichtigungen? Delegierten (auf dem NSFontManager oder NSFontPanel)? Einsetzen der Steuereinheit in die Responder-Kette?). Ich habe keine Leitlinien für eine ideale Möglichkeit gefunden mehr als eine Farbe Quellen auf einmal zu handhaben, und ich bin ein wenig verloren.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Die Farbauswahl Mechanismus speziell so ausgelegt ist, dass Sie mehrere Farbfeldern „aktivieren“ können, setzen dann ihre Farbe gleichzeitig. Ich glaube, der Grund, warum die Schaltfläche Farbe der Schrift Tafel nicht „loslassen“ der Farbauswahl ist, weil es offenbar nicht wirklich eine „Farbe gut“ ist. Ich habe dieses Verhalten nicht direkt bemerkt, aber es ist leicht reproduzierbar mit einem einfachen frischen xib mit einem Farbfeld und eine Standard-Textansicht.

Im Wesentlichen können Sie beide klicken Sie auf die gut und die Schriftfarbe und sowohl den gut und ausgewählten Text wird auf die aufgenommene Farbe ändern. Sie können sogar die gut abschalten und nur den Text ändern. Sie können jedoch nicht machen die Schrifttafel „let go“ von der Farbauswahl, bis Sie die Schrifttafel schließen.

Ich würde nennen dies einen Fehler: http://bugreport.apple.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top