UIDatePicker EventValueChanged не показывает фактическую дату / время - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть две UILabels

1: время (формат: ЧЧ: ММ)

2: дата (формат: ММММ дд, гггг)

У меня есть UIDatePickerкоторый называется UIDatePickerModeDateAndTime: timeObjectReportedDatePicker

Каждый раз, когда изменяется значение datePicker, две метки должны отображать соответствующее значение из datePicker.Таким образом, метка 1 покажет ЧЧ: ММ, а метка 2 - ММММ, дд, гггг.

Однако это не так;скорее для целей тестирования я регистрирую значение datePicker;который только захватывает текущее время / дату.Независимо от даты, которую я меняю, или времени;значение изменяется только на фактическую дату и время, а не на значение сборщика.Вот код, который у меня есть в шапке.

@property (nonatomic, strong) IBOutlet UIDatePicker *timeObjectReportedDatePicker;

- (IBAction)datePickerValueChanged:(id)sender;

Вот код для метода datePickerValueChanged

-(void)datePickerValueChanged:(id)sender{

   NSLog(@"datePicker Value Changed");
   NSDate *today1 = self.timeObjectReportedDatePicker.date;

   NSLog(@"PickerValue: %@",today1);
   NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
  [dateFormat setDateFormat:@"MMMM dd, yyyy"];
   NSString *dateString11 = [dateFormat stringFromDate:today1];
   dateObjectReportedUILabel.text=dateString11;
}

У меня UIDatePicker SentEvent ValueChanged подключен как IBOutlet к файлу заголовка для события valueDidChange.

Может ли кто-нибудь пролить свет на то, что я здесь делаю неправильно?

1 Ответ

0 голосов
/ 21 ноября 2018

измените свой метод действия как

    - (IBAction)datePickerValueChanged:(UIDatePicker *)sender;

и выполните метод как

     -(void)datePickerValueChanged:(UIDatePicker*)sender{
     [self updateReportlabel: sender];

}

// for change the year and month
 -(void)updateReportlabel:(UIDatePicker*)sender{
  NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
  [dateFormat setDateFormat:@"MMMM dd, yyyy"];
  dateObjectReportedUILabel.text = [dateFormat stringFromDate:sender.date];
      // call the update time method
      [self updateTimelabel: sender];

 }
 // for change the time 
-(void)updateTimelabel:(UIDatePicker*)sender{
  NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
  [dateFormat setDateFormat:@"HH:mm"];
  yourFirstLabel.text = [dateFormat stringFromDate:sender.date];

 }
...