使用UIDatePicker实时更新UILabel

时间:2012-02-13 02:26:42

标签: objective-c uidatepicker

我已经准备好了一切。我只需要知道如何在用户浏览UIDatePicker时更新UILabel。

NSDate *myDate =dateView.date;
dateFormatter = [[NSDateFormatter alloc] init]; 
//NSDate *date = [NSDate date]; 
[dateFormatter setDateFormat:@"MMM d y"]; 
NSString *dateString = [dateFormatter stringFromDate:myDate]; 
NSLog(@"New Date is = %@",dateString);
self.firstDateDisplayed.text = [self.dateFormatter stringFromDate:self.dateView.date];  

}

(这都是在IBAction中) 如果您需要更多代码,请告诉我。非常感谢。

1 个答案:

答案 0 :(得分:4)

您可以在viewDidLoad方法中输入类似内容:

[dateView addTarget:self action:@selector(whateverTheMethodsCalled:) forControlEvents:UIControlEventValueChanged];

然后是实际的目标方法。

-(IBAction)whateverTheMethodsCalled:(id)sender{
    //NSDate *myDate =dateView.date;
    dateFormatter = [[NSDateFormatter alloc] init]; 
    //NSDate *date = [NSDate date]; 
    [dateFormatter setDateFormat:@"MMM d y"]; 
    //NSString *dateString = [dateFormatter stringFromDate:myDate]; 
    //NSLog(@"New Date is = %@",dateString);
    firstDateDisplayed.text = [self.dateFormatter stringFromDate:dateView.date];  
}

或者在IB中,您可以将日期选择器的valueChanged事件与IBAction方法相关联。

UIDatePicker所有UIControl都有一个名为UIControlEvent..的范例,您对此感兴趣的是valueChanged;这与按钮事件触发IBAction UIControlEventTouchUpInside方法的方式类似。 addTarget:action:forControlEvents:所做的就是说当控制事件发生时你想要一个电话。