2016-03-21 25 views
0

Ich habe mehr NSTextField, die als NSWindow erstellt auf einem Dialog verwendet werden und die über angezeigt wird:NSTextField nicht verloren Fokus auf NSWindow bemerkt Nähe

[NSApp runModalForWindow:dialog] 

Mein Problem ist, wenn ein Benutzer klickt in den NSTextField ist, den Wert Editierungen und klickt dann die Dialoge DONE Taste, die den Dialog über schließt:

[NSApp stopModal] 

die NSTextField nicht irgendeine der Delegatmethoden erhalten anzeigt Editierendpunkt wird oder beendet ist und der Wert wird nicht beibehalten. Ich mag nicht die Werte bestehen bleibt ständig in:

controlTextDidChange:aNotification 

ich nicht klar bin, warum, wenn die NSTextField hat firstResponder Status gegeben, dass es bearbeitet wird, und dann verliert sie, warum sie bekommen keine Delegierten Methoden. Gibt es eine andere Möglichkeit, dies zu erkennen?

+0

Welche Delegiertenmethode speziell? – rocky

+0

- (BOOL) Kontrolle: textShouldEndEditing: –

Antwort

0

Was dies behoben änderte dies:

[self resignFirstResponder]; 

dazu:

[self makeFirstResponder:nil]; 

Dadurch, dass das Textfeld auf der modalen Fenster, das den Fokus bekam die Meldung zur Zeit hatte. Ich bin mir nicht sicher, warum resignFirstResponder nicht funktioniert, aber es auf Null setzt, aber da hast du es.

Verwandte Themen