Отображение текущей даты по умолчанию в представлении UIDatePickerr - PullRequest
0 голосов
/ 16 мая 2018

Если я выбираю дату в представлении выбора даты для текущей даты, также выбирается время и отображается текущее время, я хочу разделить его на два разных события выбора

Вот мой фрагмент кода -

/ * Кнопка для отображения вида UIDatePicker * /

-(void) dueDateChanged:(UIDatePicker *)sender {

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd MMM, yyyy"];


    self.lbl_StartDateValue.text = [dateFormatter stringFromDate:[sender date]];
    self.planStartDate = [dateFormatter stringFromDate:[sender date]];

    NSDate *date = [[NSCalendar currentCalendar] dateByAddingComponents:dateComponents toDate:[dateFormatter dateFromString:[dateFormatter stringFromDate:[sender date]]] options:0];

    self.lbl_EndDateValue.text = [NSString stringWithFormat:@"End %@",[dateFormatter stringFromDate:date]];
    self.planEndDate = [dateFormatter stringFromDate:date];
}

// Here I am not able to differentiate the selection of two picker view


-(void)onDoneButtonClick {

    [self dueDateChanged:self.picker];
    [self dueTimeChanged:self.picker];
    [self.toolbar removeFromSuperview];
    [self.picker removeFromSuperview];
    [self.tempBackgroundView removeFromSuperview];
}

-(void) dueTimeChanged:(UIDatePicker *)sender {

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"hh:mm a"];

    self.lbl_timeValue.text = [dateFormatter stringFromDate:[sender date]];
    self.planAlarmtime = [dateFormatter stringFromDate:[sender date]];
}

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Мне нравится, изначально устанавливайте текущую дату в вашем текстовом поле всякий раз, когда пользователь представляет средство выбора даты

  (IBAction)btn_calendar_event:(id)sender {
   ......
 [self.toolbar sizeToFit];
[self.view addSubview:self.toolbar];
//if you want to show the default date as current date 

self.picker.date = [NSDate date];
 // set inital date on your textfield
[self dueDateChanged :  self.picker];
 }

, если пользователь нажал кнопку «Готово», то вызовите это

-(void)onDoneButtonClick { 
 // call the method
[self dueDateChanged :  self.picker];
[self.toolbar removeFromSuperview]; 
[self.picker removeFromSuperview]; 
  [_txtf_birthDate resignFirstResponder];
} 

, наконец, изменитеформат ГГГГ

-(void) dueDateChanged:(UIDatePicker *)sender {

    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];


    NSLog(@"Picked the date %@", [dateFormatter stringFromDate:[sender date]]);
    _txtf_birthDate.text = [dateFormatter stringFromDate:[sender date]];

}
0 голосов
/ 16 мая 2018

это код для выделения UIDatepicker и установки текущей даты

UIDatePicker *datepicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-320, self.view.frame.size.width, 320)];
datepicker.date = [NSDate date];
[self.view addSubview:datepicker];
0 голосов
/ 16 мая 2018

Просто установите минимальные данные в качестве текущей даты

[self.picker setMinimumDate:[NSDate date]];

также вы не выберете, пока не прокрутите Picker

, если вы хотите показать дату по умолчанию в качестве текущей даты

self.picker.date = [NSDate date]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...