Я хочу добавить возможность использования выбора даты при редактировании определенного столбца в моем представлении таблицы и использовать фрагмент кода из здесь, который работал хорошо. Однако NSDatePicker
не подходит для моих нужд, поэтому я использую собственное собственное представление, созданное с помощью IB и загружаемое через подкласс NSViewController
для редактирования даты.
Однако я не могу понять, как отклонить всплывающее меню таким образом, который принимает редактирование, т.е. возвращает YES
в userAcceptedEdit
:
BOOL userAcceptedEdit = [menu popUpMenuPositioningItem:nil
atLocation:frame.origin
inView:tableView];
Это прекрасно работало, когда NSDatePicker
был видом меню, но не с моим пользовательским представлением.
Я улавливаю действия клавиш ввода из текстовых полей в своем пользовательском представлении, но все, что я могу выяснить, - это отменить отслеживание меню, которое делает userAcceptedEdit == NO
:
MyCustomViewController.mm:
- (IBAction)textFieldAction:(id)sender {
logdbg(@"Action");
NSMenu* menu = [[self.view enclosingMenuItem] menu];
[menu cancelTracking];
}
Представления в пунктах меню в разделе "Меню приложений Apple" и "Всплывающие списки" не охватывают его также...
EDIT Вот образец проекта, который демонстрирует проблему.
Может ли кто-нибудь дать некоторые рекомендации?