Удалите запись «Сегодня» из UIDatePicker - PullRequest
1 голос
/ 19 ноября 2010

При использовании UIDatePicker в iOS SDK всегда есть запись «Сегодня» на текущую дату. Это полезно в большинстве случаев, но там, где мне это нужно, это довольно запутанно.

Есть ли способ:

a) отключить запись "today" (вместо этого использовать обычную дату), и все записи выглядят одинаково

или даже лучше

b) отключить ввод "сегодня" (вместо этого используйте обычную дату) и на следующий день раскрасить синим

Более того, приложение предназначено только для частного использования, оно не будет распространяться в AppStore, а это значит, что я мог бы использовать частные API (я бы все же предпочел их избегать) нужно чтобы оно было обратно совместимым. iOS 4 в порядке.

1 Ответ

4 голосов
/ 19 ноября 2010

У меня была похожая проблема с UIDatePicker , не соответствующим моим требованиям (в моем случае мне нужен был сборщик дат без колеса года). Взглянув на ссылку UIDatePicker , не похоже, что вы можете отключить сегодняшнюю запись, поэтому вас могут заставить сделать то, что я сделал.

Я использовал UIPickerView и заново реализовал нужную мне функцию выбора даты. Есть несколько вещей, которые вам нужно сделать, чтобы реализовать свой пользовательский инструмент выбора даты:

  • Реализация UIPickerViewDataSource для настройки заголовков строк, измерений и количества строк.
  • Реализация UIPickerViewDelegate для обработки событий из пользовательского средства выбора.
  • Убедитесь, что вы обновляете свое колесо дня, когда колесо месяца меняется, чтобы вы получали соответствующие дни для каждого месяца. UIDatePicker делает это довольно легко. При ограниченном времени я просто перезагружаю сборщик, когда меняется месяц, чтобы количество дней совпадало.
...