2011-11-24 5 views
0

저는 iPad 응용 프로그램에서 일하고 있고 하나의 XIB에서 선택기가 있습니다. 동일한 UIDataPicker를 사용하여 하나의 UITextField로 날짜를 구분하고 싶습니다. 및 다른 UITextField의 시간.동일한 UIDatePicker를 사용하여 2 UITextField에서 날짜 및 시간을 얻는 방법

예 :

는 UItextField_1> 여기에 나는이 선택기 (하나만) 두 값을 얻을 싶어> 이 UItextField_2> 여기 만 시간을

UIDatePicker 얻을 싶어 날짜 만 얻을 싶어요.

몇 가지 아이디어가 있습니까?

어떤 아이디어라도 환영합니다. 대단히 감사합니다!

답변

2

당신은 UIControlEventValueChanged를 사용하여 이벤트 리스너를 설정할 수 있습니다 전 값을 구분 NSDateFormatter를 사용해야합니다.

[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]; 
} 

[참고 :이 테스트되지 않은 코드입니다. 그것은 당신에게 무엇을 해야할지에 대한 아이디어를 줄 의도였습니다]

+0

우수 답변,이 예제는 유용했습니다. 대단히 감사합니다. –

2

당신은 단지 UIDataPicker에서 데이트를하고있는 viewDidLoad 방법에

-(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]); 

} 
+0

이 코드는 매우 유용했습니다. 고맙습니다. –

관련 문제