2015-05-21 4 views
4

Я пытаюсь очистить поле NSSearchField, нажав кнопку очистки справа. Я не могу щелкнуть по нему.Кнопка очистки NSSearchField не отвечает на нажатие

Вот экран записи того, что происходит в моем конце:

enter image description here

Я использовал следующий код, найденный RND:

[[[self.SrcFiled cell] cancelButtonCell] setAction:@selector(clearSearchField:)]; 
[[[self.SrcFiled cell] cancelButtonCell] setTarget:self]; 

Но он не работает; Я не знаю, как исправить эту проблему. Пожалуйста, предложите, как это исправить.

+0

Почему вы устанавливаете действие/цель? Он должен работать без какой-либо конфигурации ... –

+0

по умолчанию, что не отвечает, поэтому я пытаюсь использовать выше код. я не устанавливал какой-либо метод, но без установки выше кода также не отвечал –

ответ

6

Это очень странно. Я получил решение, просто изменив TextBorderType прямоугольник на округленное, и эта ошибка получила исправление, теперь я могу нажать кнопку очистки NSSearchFiled. и что работа гладко, как ожидалось.

Старый один в этом ясном кнопки не реагирует:

enter image description here

Теперь с изменением кнопки ясно отвечают:

enter image description here

+0

сэкономил бы часы работы. –

1

У меня был точно такой же вопрос, но моя граница уже была установлена, как показано в принятом ответе.

Я обнаружил, что мое переопределение события mouseDown блокирует это поведение.

- (void)mouseDown:(NSEvent *)theEvent 
{ 
    NSLog(@"SearchField.h mouseDown"); 
} 
+0

Всегда вызывайте 'супер' с этими :) –

Смежные вопросы