我有一个NSString
对象,其中包含字符串2013-02-28
。默认情况下,UIDatepicker
显示当前日期,但我想显示NSString
对象中的所有日期。在iPhone的UIDatePickerModeDate中显示UIDatePicker中的特定日期
我将NSString
对象转换为NSDate
,我不知道如何在UIDatePicker
中设置该日期的UIDatePickerModeDate
。我怎么能这样做?我尝试了setDate:
方法,但它不起作用。
我有一个NSString
对象,其中包含字符串2013-02-28
。默认情况下,UIDatepicker
显示当前日期,但我想显示NSString
对象中的所有日期。在iPhone的UIDatePickerModeDate中显示UIDatePicker中的特定日期
我将NSString
对象转换为NSDate
,我不知道如何在UIDatePicker
中设置该日期的UIDatePickerModeDate
。我怎么能这样做?我尝试了setDate:
方法,但它不起作用。
这应该适合你。您可能需要将您的NSString转换为NSDate,然后再将其发送到NSDatePicker。请记住,您可能需要设置NSDateFormater的时区以避免边缘情况。
//Given self.datepicker is your UIDatePicker
NSString *dateString = @"2013-03-28";
NSTimeZone *timezone = [NSTimeZone systemTimeZone];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatterGMTAware dateFromString:dateString];
self.datePicker.date = date;
非常感谢你的工作 – user1850984 2013-02-28 02:59:35
-(IBAction)btnDateClicked:(id)sender{
theDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, 44.0, self.view.frame.size.width, 0.0)];
theDatePicker.datePickerMode = UIDatePickerModeDate;
theDatePicker.minimumDate=[NSDate date];
// ************To keep the selected date**********
NSString *dateString = [NSString stringWithFormat:@"%@",btnDate.titleLabel.text ];
NSTimeZone *timezone = [NSTimeZone systemTimeZone];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:timezone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];
theDatePicker.date = date;
}
'的setDate:'是你到底如何更改日期在选择器。你确定你正在创建一个有效的'NSDate'实例吗?向我们展示一些代码。 – 2013-02-27 18:38:49