UIPickerView минимальные и максимальные даты, скрытие отключенных дат и времени - PullRequest
0 голосов
/ 07 марта 2019

Я посмотрел везде (docs, SO и github), и кажется, что скрыть отключенные даты и время невозможно с UIDatePicker. Вы должны сделать это вручную, или же есть модуль: MonthYearPickerView , Моя команда хочет, чтобы это было сделано без каких-либо сторонних библиотек и желательно с использованием UIDatePicker вместо ручной реализации. Надеюсь, кто-то может знать, как это можно сделать.

Мне нужна pickerView, которая показывает только даты с начала Сегодня (т. Е. 12:00) до этого момента Сегодня (это может быть достигнуто с помощью [NSDate date], который дает нам текущие дату и время):

Мне нужно это: Needed pickerView

и что у меня пока так: Current Picker View

Мой текущий код для UIDatePicker:

-(void)createDatePicker {
timePicker = [[UIDatePicker alloc]init];
timePicker.datePickerMode = UIDatePickerModeDateAndTime;
timePicker.minuteInterval = 5;
   //Date intervals, to attempt to limit dates from start of today until this minute today.

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:0];
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setDay:-1];
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
timePicker.minimumDate = minDate;
timePicker.maximumDate = maxDate;


_startTimeTextField.inputView = timePicker; //Calls on Picker View when Tapped.
[timePicker addTarget:self action:@selector(timeChanged) forControlEvents:UIControlEventValueChanged]; }

Так что на данный момент мне все еще нужна помощь с 2 вещами:

1) Как мне ограничить мой minimumDate самым ранним временем сегодня? (В этот момент это происходит в самое раннее время 1 день назад - включая вчерашний день, поэтому rightNow - 24 часа. Мне нужно rightNow - время прошло сегодня.)

2) Как скрыть отключенные времена из pickerView? Мне нужно, чтобы он выглядел так же, как на картинке выше.

Пожалуйста, помогите и большое спасибо!

...