Я разрабатываю приложение в 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, когда я щелкаю где-то вне его, сохраняя при этом исходное поведение остальных элементов представления?
С уважением!