Создать диапазон времени в UiDatePicker - PullRequest
2 голосов
/ 05 октября 2011

У меня проблема с UiDatePicker. Я хочу создать UiDatePicker в режиме UIDatePickerModeDateAndTime. У моего сборщика должен быть диапазон часов, но у него нет диапазона дней.

Например: пользователь может всегда выбирать дату из средства выбора, но может выбирать час только в диапазоне 8.00 - 19.00.

Можете ли вы помочь мне с примером кода?

Спасибо

Ответы [ 2 ]

4 голосов
/ 05 октября 2011

Как вы можете легко увидеть из документации, это невозможно с UIDatePicker. Вы должны написать свой собственный сборщик дат (используя UIPickerView).

3 голосов
/ 05 октября 2011

UIDatePicker не поддерживает это. Он обладает свойствами minimumDate и maximumDate, но они не дают вам возможности сказать «в любой день с 8:00 до 19:00».

Вместо этого вы можете использовать 2 UIDatePickers. Первый будет в режиме UIDatePickerModeDate, а второй в режиме UIDatePickerModeTime. Используйте первый, чтобы выбрать день, а второй - время. После того, как пользователь выбрал оба, вы можете преобразовать 2 NSDates в NSDateComponents (используя [NSCalendar currentCalendar]) и взять -hour, -minute и -second из второго, передать его первый, а затем преобразовать первый обратно в NSDate. (Таким образом, в основном объедините информацию о дате из первого NSDate с информацией о времени из второго NSDate).

Вы также должны подать запрос на расширение , изначально запрашивая эту возможность.

...