UIDatePickerView日期始终加载0:01

时间:2013-05-17 04:46:49

标签: ios uidatepicker

我试图通过UIDatePicker传递一个时间来更改标签的文本,但是当我更新它时,它总是以0:01结束。

我已尝试在新项目中自行使用代码并且它正常运行,因此它与我的其他功能有关。

- (void)viewDidLoad {    
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm"];
pickerLabel.text = [NSString stringWithFormat:@"%@",
              [df stringFromDate:[NSDate date]]];
[self.view addSubview:pickerLabel];
[self.view addSubview:picker];    
}

单击完成按钮后,它会更新标签值并将日期选择器的uiview设置为动画。

- (IBAction)savePalette:(id)sender {

[UIView beginAnimations:@"animateView" context:nil];
[UIView setAnimationDuration:0.5];

CGRect viewFrame = [animatedView frame];
viewFrame.origin.y = 480;
animatedView.frame = viewFrame;

animatedView.alpha = 1.0;
[self.view addSubview:animatedView];
[UIView commitAnimations];
NSLog(@"saving and close");

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm"];
pickerLabel.text = [NSString stringWithFormat:@"%@", [df stringFromDate:picker.date]];
NSLog([NSString stringWithFormat:@"%@",[df stringFromDate:picker.date]]);
}

感谢任何帮助,谢谢!我认为问题是从拣货员那里取出的日期不会转移过来。

谢谢!

1 个答案:

答案 0 :(得分:0)

你是如何从datepicker中选择日期的? 一世。你必须指明你是如何做到这一点的。你说的是一个完成按钮 - 用于选择选择器上可见的日期而不滚动选择器并选择日期??

我遇到了类似的问题,并通过向选择器提供日期来解决问题。

datePicker= [[UIDatePicker alloc] initWithFrame:PICKER_FRAME;
[datePicker addTarget:self action:@selector(selectedTime:) forControlEvents:UIControlEventValueChanged];

这里datePicker加载了默认日期,即[NSdate date]。 现在尝试一下;

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];  
[dateFormatter setDateFormat:@"HH:mm"];
    //Setting the locale causes dateformatter to format string in 12 hr format.
 NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];
 NSString *dateString =[dateFormatter stringFromDate:date];
 NSDate  *pickerLoadingDate = [dateFormatter dateFromString:dateString];
 datePicker.date = pickerLoadingDate;