1

我试图仅显示 1910-2010 之间的日期选择器。我的意思是用户只能在 1910 - 2010 之间进行选择。我尝试了下面的代码,但它不工作。

日期可以从 1 日到 31 日选择,月份也可以从 1 月到 12 月选择。

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

    [self.myPicker setMaximumDate:maxDate];
    [self.myPicker setMinimumDate:minDate];

请让我知道,我做错了什么。非常感谢。

4

2 回答 2

4
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *minDate = [formatter dateFromString:@"1910-01-01"];
NSDate *maxDate = [formatter dateFromString:@"2010-12-31"];
self. myPicker.minimumDate = minDate;
self. myPicker.maximumDate = maxDate;
于 2013-02-08T08:47:12.703 回答