Вы можете заставить NSDatePicker не показывать дату, установив для NSDatePickerElementFlags значение 0:
@IBOutlet weak var datePicker: NSDatePicker!
datePicker.datePickerElements = NSDatePickerElementFlags(rawValue: 0)
Однако затем вы должны обработать отображение даты при выборе datePicker.Вот подкласс, который делает это, показывая текущую дату, когда выбран пустой указатель даты:
class MyDatePicker: NSDatePicker {
var date: Date? {
didSet {
if let date = date {
self.dateValue = date
self.datePickerElements = .yearMonthDayDatePickerElementFlag
} else {
self.datePickerElements = NSDatePickerElementFlags(rawValue: 0)
}
}
}
override func becomeFirstResponder() -> Bool {
if date == nil {
date = Date()
}
return true
}
override func resignFirstResponder() -> Bool {
editing = false
date = self.dateValue
return super.resignFirstResponder()
}
}