6

日付と時刻を表示する 2 つのフィールドがあり、1 つのフィールドでは NSDateFormatter を使用して日付が正しく表示され、別のフィールドではプログラムで UIPicker に時刻を表示してラベルに入れたいと考えています。これで私を助けて

4

1 に答える 1

30

モードUIDatePickerで使用Time

self.datePicker = [[UIDatePicker alloc] init];
self.datePicker.frame = CGRectMake(0, 0, self.view.frame.size.width, 180.0f); // set frame as your need
self.datePicker.datePickerMode = UIDatePickerModeTime;
[self.view addSubview: self.datePicker];

そして、UILabelそのような中で選択された時間を設定します

UILabel  * label1 = [[UILabel alloc] initWithFrame:CGRectMake(40, 70, 300, 50)];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];
NSString *currentTime = [dateFormatter stringFromDate:self.datePicker.date];    
label1.text = currentTime;
[self.view addSubview:label1];

編集:

次のコードを datePicker に追加します

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

そして、このメソッドを呼び出します

- (void)dateChanged:(id)sender
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"hh:mm a"];
    NSString *currentTime = [dateFormatter stringFromDate:self.datePicker.date]; 
    NSLog(@"%@", currentTime);
}
于 2013-10-26T05:34:40.927 に答える