Скройте NSDatePicker с NSClickGestureRecognizer - PullRequest
0 голосов
/ 07 апреля 2020

Я разрабатываю приложение в Objective- C с Какао.
У меня есть NSDatePicker в моем приложении, которое я хотел бы скрыть после нажатия в любом месте приложения. У меня есть:

NSView *mainView - main NSView containing all application elements. 
NSDatePicker *datePicker - picker which I would like to hide.

И я пытаюсь сделать это следующим образом:

NSClickGestureRecognizer *click = [[NSClickGestureRecognizer alloc] initWithTarget: self action:@selector(hideCalendar:)];
[mainView addGestureRecognizer: click];

...

-(void) hideCalendar:(NSGestureRecognizer*)rec{
[datePicker setHidden:YES];
}

Я знаю, что может быть только один NSGestureRecognizer каждого типа, и каждый элемент в mainView перестает работать как это должно. Так есть ли способ вызвать оригинальное действие NSClickGestureRecognizer в функции hideCalendar:?

Я также попытался реализовать свой собственный NSGestureRecognizer. Но, честно говоря, я действительно не знаю, какие функции реализовать.

Как мне скрыть datePicker, когда я щелкаю где-то вне его, сохраняя при этом исходное поведение остальных элементов представления?

С уважением!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...