2016-05-14 1 views
0

Я новичок в IOS Мне нужно отобразить таймер с текущим временем в метке и изменить в выборе времени, значение которого также обновляется на той же этикетке. После этого я хочу закрыть это время Picker также после выбора.Время, не обновляющееся в ярлыке после выбора в TimePicker

Кодирование для выбора времени:

- (IBAction)pickuptime1:(id)sender { 

    self.datePicker = [[UIDatePicker alloc] init]; 
    self.datePicker.frame = CGRectMake(0, 250,325,300); // set frame as your need 
    self.datePicker.datePickerMode = UIDatePickerModeTime; 
    [self.view addSubview: self.datePicker]; 
    //UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(40, 70, 300, 50)]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"hh:mm a"]; 
    NSString *currentTime = [dateFormatter stringFromDate:self.datePicker.date]; 
    label2.text = currentTime; 
    [datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged]; 

    [self.view addSubview:datePicker]; 
    [self.view addSubview:label2]; 

    } 

Метод кодирования:

- (void)dateChanged:(id)sender 
{ 

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"hh:mm a"]; 
    NSString *currentTime = [dateFormatter stringFromDate:self.datePicker.date]; 
    NSLog(@"%@", currentTime); 


} 
+0

Что вы подразумеваете под "close the picker"? – marosoaie

+0

После выбора в подборщике времени я хочу закрыть этот просмотр или подборщик @marosoaie –

+0

вам просто нужно скрыть представление, нет близкого варианта. – Elangovan

ответ

0

принял Реализовать метод делегата, pickerView: didSelectRow: inComponent :. Это вызывается при выборе элемента выбора, когда вы выбираете элемент. Получите значение из вашего массива на основе строки и компонента и заполните свой ярлык.

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    self.label.text = _myArray[row]; 
} 

Или проверить этот также

  • Вы не можете изменить внешний вид UIDatePicker.
  • Вы можете сохранить его в собственности, и когда вам нужно удалить ее с viewview call [datePicker removeFromSuperview];
  • Для получения строкового значения с даты требуется форматирование даты. Некоторым нравится :

    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle: NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle: NSDateFormatterShortStyle];

  • И для установки этикетки с датой:

    self.dateLabel.text = [dateFormatter stringFromDate: datePicker.date];

+0

может объяснить этот код «[datePicker removeFromSuperview];» @Vijay Kachhadiya –

+0

yes, Если вы не хотите выбирать дату после выбора, вы можете удалить его. Если tou нужен сборщик, который пропускает этот код –

+0

k штраф, но Superview означает ... я использовал только выбор даты в кнопке @Vijay Kachhadiya –

0

его довольно просто вам просто нужно реализовать один метод позволяет Дата обновления & время неявно иметь вид ниже код ..

-(IBAction)done_action:(id)sender{ 
    self.viewDatePicker.hidden=YES; 
    [self.datePicker setDatePickerMode:UIDatePickerModeDate]; 
    [self.datePicker addTarget:self action:@selector(onDatePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; 
    _yourCustomLabel.text = [dateFormatter stringFromDate:self.datePicker.date]; 
} 

// method invokes while scrolling on date picker 
-(IBAction)onDatePickerValueChanged:(UIDatePicker *)datePicker{ 
    // yourLabel to show current time while scroll on datePicker 
    self.yourLabel.text = [dateFormatter stringFromDate:datePicker.date]; 
} 

разместить Datepicker внутри зрения, которая изначально скрыть или настройте соответственно ..

+0

, пожалуйста, объясните эту строку «self.viewDatePicker.hidden = YES;» @vaibhav –

+0

@ A.sonu конечно ..сначала мы имеем uiview с именем _viewDatePicker_, который содержит ** uibuttons ** (отменить и сделать), ** datepicker ** и ** uilabel ** _ (показывает текущее время и дату при прокрутке по дате Picker) _ как только вы выберете дату, наконец и нажмите, чтобы сделать это скрывает _viewDatePicker_ исполняет кучу кода. – vaibhav

+0

k штраф, но я не добавил ни одной кнопки или отменил ее в моем выборе даты @ vaibhav –

 Смежные вопросы

  • Нет связанных вопросов^_^