我有一個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