2017-05-09 269 views
-1

我試圖在我的日期選擇器中設置最大和最小日期如下。無法設置最大和最小日期日期選擇器

UIDatePicker *picker = [[UIDatePicker alloc] init]; 
    [picker setDatePickerMode:UIDatePickerModeDate]; 
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; 
    NSDate *currentDt = [NSDate date]; 
    NSDateComponents *comps = [[NSDateComponents alloc] init]; 
    [comps setYear:-10]; 
    NSDate *minDate = [gregorian dateByAddingComponents:comps toDate:currentDt options:0]; 
    [comps setYear:10]; 
    NSDate *maxDate = [gregorian dateByAddingComponents:comps toDate:currentDt options:0]; 

    [picker setMaximumDate:maxDate]; 
    [picker setMinimumDate:minDate]; 

最大年已領先於當年10歲,最小年份必須是比當年

少10年,但這種方法是行不通的。它顯示一切。

+0

嘗試用'NSGregorianCalendar',而不是'NSCalendarIdentifierGregorian' –

+0

讓我試試..... –

+0

它不工作 –

回答

1

試試這個,它會工作

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDate *currentDate = [NSDate date]; 
NSDateComponents *comps = [[NSDateComponents alloc] init]; 
[comps setYear:10]; 
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 
[comps setYear:-10]; 
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 

[datePicker setMaximumDate:maxDate]; 
[datePicker setMinimumDate:minDate]; 
+0

這個問題不是關於日期創建,而是關於'datePicker'的實例不是顯示的正確的事實。 – Larme

相關問題