Проверката на NSTextField и NSSearchField запазват стойността си в скорошна история при щракване върху NSButton

Имам тази настройка, моят NSWinow има два NSSearchFiled с относителна автоматично запазване на хронологията на търсенето, един NSTextField и NSButton.

NSSearchFiled трябва автоматично да запазва търсенето (което работи правилно, когато потребителят натисне клавиша "Enter") NSTextField трябва да бъде потвърдено и запазено в потребителските предпочитания (от action).

Проблемът е, че ако имам фокус върху NSSearchFiled и щракна върху NSButton, низът не се запазва автоматично в последните, ако имам фокус върху NSTextField и щракна върху NSButton, стойността не се валидира и се записва в потребителските предпочитания...

Опитах това в действието на NSButton:

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

без късмет и гугълът също не помага... Con you help me?


person Shebuka    schedule 03.10.2012    source източник


Отговори (1)


След като зададох въпроса, пробвах "последната опция"... и се получи!

това е кодът за - (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];
person Shebuka    schedule 03.10.2012