Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法设置日期选择器的最大和最小日期_Ios_Objective C - Fatal编程技术网

Ios 无法设置日期选择器的最大和最小日期

Ios 无法设置日期选择器的最大和最小日期,ios,objective-c,Ios,Objective C,我试图在我的日期选择器中设置最大和最小日期,如下所示 UIDatePicker *picker = [[UIDatePicker alloc] init]; [picker setDatePickerMode:UIDatePickerModeDate]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDat

我试图在我的日期选择器中设置最大和最小日期,如下所示

  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年


但这种方法不起作用。它显示所有内容。

试试这个,它会工作的

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];

尝试使用
NSGregorianCalendar
而不是
nscalendardidentifiergregorian
让我试试……它不起作用我尝试了你的代码,我得到了好的日期。您确定正在使用
UIDatePicker
的良好实例吗?不是一个
IBOutLet
或类似的东西?我没有看到任何问题,它在我这边工作得很好,问题不是日期创建,而是
datePicker
的实例不是正确的。