Как использовать один и тот же UIDatePicker для получения даты и времени в 2 UITextField по отдельности

Я работаю в приложении для iPad, и у меня есть средство выбора в одном XIB, я хочу использовать один и тот же UIDataPicker для разделения даты в одном UITextField и времени в другом UITextField.

Пример:

UItextField_1 > Здесь я хочу получить только дату UItextField_2 > Здесь я хочу получить только время

UIDatePicker> Я хочу, чтобы этот сборщик (только ОДИН) получал оба значения.

Есть идеи, как этого добиться?

Любая идея приветствуется, большое спасибо!


person Mxnuel Salinas    schedule 24.11.2011    source источник


Ответы (2)


Вы можете настроить прослушиватель событий, используя UIControlEventValueChanged в своем методе viewDidLoad.

[datePicker addTarget:self action:@selector(action:forEvent:) forControlEvents:UIControlEventValueChanged];

Затем в этом обработчике вы можете сделать что-то вроде этого:

- (void)action:(id)sender forEvent:(UIEvent *)event {
    // Date
    dateTextField1.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterShortStyle timeStyle:kCFDateFormatterNoStyle];

    // Time    
    dateTextField2.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterNoStyle timeStyle:kCFDateFormatterShortStyle];
}

[Примечание: это непроверенный код. Это предназначено только для того, чтобы дать вам представление о том, что делать]

person Ryan H.    schedule 24.11.2011
comment
Отличный ответ, этот пример был полезен. Спасибо большое - person Mxnuel Salinas; 25.11.2011

вам просто нужно получить дату из UIDataPicker и использовать NSDateFormatter для разделения значений ex

-(IBAction) endDate{

//gets date only 01/01/2011
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = kCFDateFormatterShortStyle;
NSLog(@"%@",[df stringFromDate:endByDatePicker.date]);

//gets time h:mm
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"h:mm"];
NSLog(@"%@",[outputFormatter stringFromDate:self.endByDatePicker.date]);

}
person Źirk Kelevra    schedule 24.11.2011