2013-02-27 75 views
1

我有一個NSString對象,其中包含字符串2013-02-28。默認情況下,UIDatepicker顯示當前日期,但我想顯示NSString對象中的所有日期。在iPhone的UIDatePickerModeDate中顯示UIDatePicker中的特定日期

我將NSString對象轉換爲NSDate,我不知道如何在UIDatePicker中設置該日期的UIDatePickerModeDate。我怎麼能這樣做?我嘗試了setDate:方法,但它不起作用。

+0

'的setDate:'是你到底如何更改日期在選擇器。你確定你正在創建一個有效的'NSDate'實例嗎?向我們展示一些代碼。 – 2013-02-27 18:38:49

回答

3

這應該適合你。您可能需要將您的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; 
+0

非常感謝你的工作 – user1850984 2013-02-28 02:59:35

1
-(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; 
} 
相關問題