如何显示系统日期&时间在UIButton?

时间:2014-02-27 11:54:54

标签: ios objective-c uibutton nsdate uidatepicker

我在iOS中更新,我尝试使用下面的代码在Label上显示系统时间。同样我想在按钮上显示。

NSDate * currDate = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd.MM.YY HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:currDate];
[date_time setText:dateString];

// date_time是我的标签。 上面的代码工作得很好但是在按钮上显示我使用了下面的代码但是cudn不适用于Button

NSDate * currDate = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd.MM.YY HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:currDate];

[date_time setTitle:dateString forState:UIControlStateNormal];

// date_time是Button的名称

2 个答案:

答案 0 :(得分:3)

使用NSDate *date = [NSDate alloc] init]; 获得当前日期。

假设您有按钮实例myButton, 那么

[myButton setTitle: NSString stringwithformat:@"%@",[date] forState: UIControlStateNormal];

然后在按钮选择器初始化您的日期选择器和日期选择器委托选择器mehod再次设置您的按钮标题, 前,

[myButton setTitle:NSString stringwithformat:@"%@",[datepicker.date] forState: UIControlStateNormal]; 

希望这可以帮助你

答案 1 :(得分:0)

如果您希望按钮的标题反映系统日期和时间并每隔一秒更新一次,则需要创建一个每秒运行一次的NSTimer并更改按钮的标题。看看方法scheduledTimerWithTimeInterval:target:selector:userInfo:重复:

如果你想在第二秒每秒更新一次,那么在第二秒启动计时器会有点棘手。如果你愿意,我可以告诉你一些代码。

由于您希望在用户单击按钮时将当前时间替换为用户选择的时间,因此当用户选择新的日期/时间时,您将停止计时器。