我试图通过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]]);
}
感谢任何帮助,谢谢!我认为问题是从拣货员那里取出的日期不会转移过来。
谢谢!
答案 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;