Итак, обнаружив, что встраивание NSDatePickerCell в NSTableColumn в перо не разрешено, я продолжил, чтобы проверить, возможно ли это сделать программно. Пример проекта:
http://www.markdouma.com/developer/TableViewDatePicker.zip
Как показывает тестовое приложение, это можно сделать программно:
Вы бы использовали код, подобный следующему:
NSDatePickerCell *cell = [[[NSDatePickerCell alloc] init] autorelease];
[dateOfHireColumn setDataCell:cell];
Однако, как вы можете видеть, первоначальный результат не совсем то, что хотелось бы. Ячейка выбора даты не меняет цвет текста, который он рисует при выделении, а также не позволяет изменять дату с помощью элементов управления.
Хотя я и не пытался делать это экстенсивно (другими словами, возможно, с небольшим количеством настроек и / или подклассов, вы могли бы заставить его работать лучше), нижнее представление таблицы показывает пример того, как это могло бы быть реализованным. По сути, вы просто используете обычное текстовое поле в столбце таблицы вместе с NSDateFormatter для правильного отображения даты. Когда вы выбираете дату, вы можете использовать NSDatePicker под таблицей для редактирования значения.