【发布时间】:2011-04-21 19:19:16
【问题描述】:
我知道 UIPickerViews 在选择一行时使用 didSelectRow 方法来更新标签等。
我有一个 UIDatePicker 可以在选择一行并按下完成按钮时更新标签,但我还想要一个随每个选择更新的 UILabel,因此它会随着用户更改日期而实时更新。虽然我找不到日期选择器的任何方法,例如 didSelectRow 。这怎么可能?
- (IBAction)dateButtonPressed
{
[dateView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:dateView];
UIBarButtonItem *acceptButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismssPickerChangeDate)];
self.navigationItem.rightBarButtonItem = acceptButton;
[acceptButton release];
UIBarButtonItem *cancelButton1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(dismssPickerCancel)];
self.navigationItem.leftBarButtonItem = cancelButton1;
[cancelButton1 release];
self.navigationItem.title = @"Select Date";
self.navigationItem.hidesBackButton = YES;
[UIView animateWithDuration:.5 animations:^{
[dateView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
}];
NSDate *myDate = picker.date;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//NSDate *date = [NSDate date];
[dateFormatter setDateFormat:@"MMM d y"];
NSString *dateString = [dateFormatter stringFromDate:myDate];
NSLog(@"New Date is = %@",dateString);
dateLabel.text = dateString;
}
【问题讨论】:
标签: iphone objective-c cocoa-touch