2017-03-08 15 views
1

私は、押されたときにdatePickerを開いて日付を選択し、この情報をラベルに送るtextFieldを持つアプリケーションを持っています。私はDATE値を取得する必要がありますが、送信されている文字列のようなものです:私は日付のみ文字列を取得できますかXcode - DatePicker:ラベルにのみ日付文字列を表示

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

私のコードは次のとおりです。

- (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

FYI - 日付形式が間違っています。 '@" dd/MM/yyyy "'が必要です。 'YYYY'は決して使用しないでください。今年は 'yyyy'を使います。 – rmaddy

答えて

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

はあなたのテキストラベルを視野ではなく、あなただけのテキストビューに追加フォーマットされた文字列の説明を割り当てています。

mostraData.text = _dia2.text; 
+0

正しい解決法で 'stringWithFormat:'を使用する際のポイントは何ですか?なぜ、このプロパティを使うのではなく、直接ivarにアクセスするのですか? – rmaddy

+0

@rmaddyあなたは絶対に正しいです! –

+0

それは働いた!ありがとう! – Vladimir

関連する問題