Как использовать один и тот же UIDatePicker для получения даты и времени в 2 UITextField по отдельности - PullRequest
0 голосов
/ 25 ноября 2011

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

Пример:

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

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

Некоторые идеи для достижения этой цели?

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

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

Вы можете настроить прослушиватель событий, используя 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];
}

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

2 голосов
/ 25 ноября 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]);

}
...