我如何从日期选择器中取出日期然后再将其重新放入?

时间:2011-01-04 16:09:17

标签: iphone cocoa-touch uidatepicker

我已经尝试了很多方法来做到这一点,但我似乎无法让它发挥作用。所以这里更准确地说是我想要的 - 你按下一个按钮,它需要在datepicker中设置的日期和时间并存储它(最有可能在NSDate中,尽管我已经尝试在它和NSString之间来回转换 - 没有'工作)。然后按下另一个按钮,它会存储日期和时间,并将日期选择器设置为该日期和时间。

关于我如何做到这一点的建议?

2 个答案:

答案 0 :(得分:1)

@property (retain) NSDate *savedDate;
@property (retain) IBOutlet UIDatePicker *datePicker;

// To save the date:
self.savedDate = datePicker.date;

// To put it back into the picker:
datePicker.date = self.savedDate;

答案 1 :(得分:0)

您实际上处理了日期选择器更改,通过选择器范例注册通过类上的方法更改的UIControlEventValue:

[dateSelector addTarget:self
   action:@selector(processDateSelection:)
   forControlEvents:UIControlEventValueChanged];

然后在该方法过程中,该方法中的选择器上的时间(我将它写入UITextField:

control.text = [NSString stringWithFormat:@"%@", [df stringFromDate: dateSelector.date]];

要在选择器中设置日期,请使用NSDate对象(使用dateFormatter):

[df setDateFormat:@"yyyy-MM-dd"];
   NSDate *defaultDate = [df dateFromString: textField.text];
   dateSelector.date = defaultDate;

您还需要使用at方法来关闭日期选择器,因为标准选择器中没有逻辑“结束”。我只是将一个方法绑定到按钮,将其设置为日期选择器上的UIAccessoryView,并且putton tap解除了选择器。