2014-09-07 3 views
0

UIDatePield에 UIDatePicker를 월, 일, 년에만 연결했습니다. 날짜를 선택하면 UITextField의 텍스트 출력에 날짜와 시간이 계속 표시됩니다. 어떻게 UItextfield를 월, 일 및 연도 만 표시 할 수 있습니까? 모든 도움을 미리 감사드립니다.UIDatePicker 출력

여기 내 코드입니다 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    UIDatePicker *datePicker = [[UIDatePicker alloc]init]; 
    [datePicker setDate:[NSDate date]]; 
    datePicker.datePickerMode = UIDatePickerModeDate; 
    [datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged]; 

    [self.dateField setInputView:datePicker]; 



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

} 



-(void)updateTextField:(id)sender 
{ 
    UIDatePicker *picker = (UIDatePicker*)self.dateField.inputView; 

    self.dateField.text = [NSString stringWithFormat:@"%@",picker.date]; 
} 
+0

을 디버깅에 과거의 코드를 이동해야합니다. Xcode 디버거와 변수를 표시하는'caveman'을위한'NSLog'가 있습니다.'updateTextField :'메소드가 호출되는지 확인하십시오. 'self.dateField.inputView' 문을 구성 요소로 분리하고, 날짜 텍스트와 NSLog를 얻습니다. 각 문장에서 더 적은 수의 문을 작성하고, 더 많은 문장으로 나누십시오. 각 문장은 한 가지 작업을 수행합니다 (컴파일러가 함께 병합합니다). 그러면 문제가 나타날 것입니다. 그래서 ** 디버거가 아닌 ** 최후의 수단입니다. – zaph

답변

1

이 시도 ..

-(void)updateTextField:(id)sender 
{ 
    UIDatePicker *picker = (UIDatePicker*)self.dateField.inputView; 

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"MM dd yyyy"]; 
    self.dateField.text = [dateFormat stringFromDate:picker.date]; 

}