我有一个UIDatePicker,并尝试基于用户选择的日期实时更新UILabel。如果用户选择一个日期(例如2012年1月21日),然后改变主意(例如2013年3月21日),我希望UILabel能够反映这一变化。UIDatePicker未更新UILabel
到目前为止,即使在用户从UIDatePicker中选择了另一个日期之后,UILabel也只是反映了当前日期并且不会更新它的文本。我也搜索了一些指针来解决这个问题,但无济于事。任何帮助将不胜感激。谢谢。
到目前为止的代码: .h文件中,我有
@property (strong, nonatomic) IBOutlet UILabel *entryDateSetLabel;
@property (strong, nonatomic) IBOutlet UIDatePicker *entryDateSelected;
- (IBAction)datePickerDateChanged:(id)sender;
的datePickerDateChanged被挂在值改变事件的日期选择器
.m文件,
- (void)viewDidLoad
{
[super viewDidLoad];
self.entryDateSelected = [[UIDatePicker alloc] init];
[self.entryDateSelected addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged];
}
- (IBAction)datePickerDateChanged:(id)sender {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"MMMM d, yyyy"];
NSString *entryDateInString = [outputFormatter stringFromDate:self.entryDateSelected.date];
[[self entryDateSetLabel] setText: entryDateInString];
}
屏幕截图
在“数值改变”事件
在“Value change”事件中连接数据选取器 – Vishal