Ich baue eine benutzerdefinierte Ansicht, die mehrere andere Teilansichten enthält (NSTextField
, WebView
, ...). Ich möchte, dass in meiner benutzerdefinierten Ansicht ein anderer Rahmen gezeichnet wird, wenn eine der Unteransichten der erste Responder ist, und als ein einzelnes Element fungiert, auf das mit Menüelementen und Tastenkombinationen reagiert werden kann. Es sieht etwa so aus:Gibt es eine zuverlässige Möglichkeit, Erstanwenderänderungen in Unteranfragen zu erkennen?
+-------------+
| NSTextField |
+-------------+
| WebView |
+-------------+
Bisher habe ich Erfolg Subklassifizieren NSTextField
und andere hatten einen Delegierten zu benachrichtigen, wenn - (BOOL)becomeFirstResponder
und - (BOOL)resignFirstResponder
genannt werden. Dieser Ansatz funktioniert jedoch nicht mit WebView
, da er selbst viele Unteransichten enthält - ich kann sie nicht alle untergliedern!
Gibt es eine bessere Möglichkeit festzustellen, wenn Subviews ihren First Responder-Status ändern? Oder eine bessere Möglichkeit, eine benutzerdefinierte Ansicht zu erstellen?
Genau die gleichen Probleme hier, haben Sie jemals eine Lösung gefunden? – Kappe