2017-03-08 58 views
1

我有一個應用程序有一個textField,當按下時,打開一個datePicker供用戶選擇日期,然後將此信息發送到標籤。我只需要獲取DATE值,但發送的字符串如下所示:Xcode - DatePicker:顯示一個標籤的唯一日期字符串

<UITextField: 0x7ff66e740bf0; frame = (16 12; 289 30); text = '08/03/2017'; opaque = NO; (...and so on...) 

如何獲取ONLY DATE字符串?

我的代碼是:

- (void)viewDidLoad 
{ 
datePicker=[[UIDatePicker alloc]init]; 
datePicker.datePickerMode=UIDatePickerModeDate; 
[self.dia2 setInputView:datePicker]; 

UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 
[toolBar setTintColor:[UIColor grayColor]]; 
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Pronto" style:UIBarButtonItemStyleBordered target:self action:@selector(ShowSelectedDate)]; 
UIBarButtonItem *space=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
[toolBar setItems:[NSArray arrayWithObjects:space,doneBtn, nil]]; 
[self.dia2 setInputAccessoryView:toolBar]; 
} 

-(void)ShowSelectedDate 
{ 
NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"dd/MM/YYYY"]; 
self.dia2.text=[NSString stringWithFormat:@"%@",[formatter stringFromDate:datePicker.date]]; 
mostraData.text=[NSString stringWithFormat:@"%@", _dia2]; 
[self.dia2 resignFirstResponder]; 
} 
+0

您正在設置'self.dia2.text'的日期。但是,然後你將'UITextField'('_dia2')轉換爲一個字符串並將其分配給'mostraData.text'。爲什麼? – rmaddy

+1

供參考 - 您的日期格式不正確。你想'@「dd/MM/yyyy」'。切勿使用「YYYY」。使用'yyyy'一年。 – rmaddy

回答

0
mostraData.text=[NSString stringWithFormat:@"%@", _dia2]; 

被分配你的文本視圖的描述標籤,而不是剛纔添加到文本視圖的格式化字符串。

mostraData.text = _dia2.text; 
+0

在正確的解決方案中使用'stringWithFormat:'有什麼意義?爲什麼直接訪問伊娃而不是使用財產? – rmaddy

+0

@rmaddy你是對的! –

+0

它的工作!謝謝! – Vladimir