NSTextField-Validierung und NSSearchField speichern ihren Wert beim Klicken auf NSButton im aktuellen Verlauf

StackOverflow https://stackoverflow.com//questions/12712762

Frage

Ich habe dieses Setup, mein NSWinow hat zwei NSSearchFileds mit relativer automatisch gespeicherter Suchhistorie, eine NSTextField und ein NSButton.

NSSearchFiled Die Suche muss automatisch gespeichert werden (was funktioniert, wenn der Benutzer die Eingabetaste drückt).NSTextField muss validiert und in den Benutzereinstellungen gespeichert werden (durch it's action).

Das Problem ist, wenn ich mich darauf konzentriere NSSearchFiled und klicken Sie auf NSButton Die Zeichenfolge wird nicht automatisch in den letzten Dateien gespeichert, wenn ich mich darauf konzentriere NSTextField und klicken Sie auf NSButton Der Wert wird nicht validiert und in den Benutzereinstellungen gespeichert ...

Ich habe dies in der NSButton-Aktion versucht:

// SearchF_Name is of NSSearchFiled
[SearchF_Name sendAction:SearchF_Name.action to:SearchF_Name.target];

Ohne Glück, und googeln hilft auch nicht ...Kannst du mir helfen?

War es hilfreich?

Lösung

Nachdem ich die Frage gestellt hatte, habe ich die „letzte Option“ ausprobiert ...und es hat funktioniert!

Dies ist der Code für - (IBAction)Btn_SearchAction:(id)sender

NSResponder *firstResponder = [[NSApp keyWindow] firstResponder];
if ([firstResponder isKindOfClass:[NSText class]] && [(NSText *)firstResponder delegate] == TextF_ResultLimit) {
    NSLog(@"SearchDelegate::Btn_SearchAction TextF_ResultLimit has focus, let's save it's value");
    [TextF_ResultLimit performClick:self];
}

NSLog(@"SearchDelegate::Btn_SearchAction SearchF_Name saving search value to recent history");
[SearchF_Name performClick:self];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top