ios 如何在UIDatePicker中禁用未来的日期,月份和年份?

mwg9r5ms  于 11个月前  发布在  iOS
关注(0)|答案(6)|浏览(133)

如何在UIDatePicker中隐藏未来日期,以便用户只选择过去和当前的生日年份。
我搜索了很多资源,但我不能得到想要的结果。
这是我的代码,

dateofBirthDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, 44.0, 0.0, 0.0)];

    dateofBirthDatePicker.datePickerMode = UIDatePickerModeDate;
    [dateofBirthDatePicker setBackgroundColor:DATE_PICKER_GRAY_COLOR];

//    UILabel *label = [UILabel appearanceWhenContainedIn:[UITableView class],[UIDatePicker class], nil];
//    label.font = HELVETICA_NEUE(24);
//    label.textColor = GREEN_COLOR;
    [dateofBirthDatePicker addTarget:self
                              action:@selector(LabelChange:)
                    forControlEvents:UIControlEventValueChanged];
    dateofbirthTextField.inputView = dateofBirthDatePicker;
    [self datePickerToolBar];
}

- (void)LabelChange:(id)sender
{
    NSDateFormatter *dateFormat= [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd/MM/yyyy"];
    dateofbirthTextField.text = [NSString stringWithFormat:@"%@",
                                [dateFormat stringFromDate:dateofBirthDatePicker.date]];
}

字符串
如果有人知道解决办法,请给予建议,我非常感谢。

91zkwejq

91zkwejq1#

下面是防止未来日期选择的简单代码:

dateofBirthDatePicker.maximumDate=[NSDate date];

字符串
在Swift中:

dateofBirthDatePicker.maximumDate = Date()

hs1rzwqc

hs1rzwqc2#

在Swift 2中:
第一个月
Swift 3:
self.datePicker.maximumDate = Date()

ecbunoof

ecbunoof3#

在Swift 4.0.3 Xcode 9中

隐藏未来日期

self.picker.maximumDate = Date()

字符串

4dbbbstv

4dbbbstv4#

你可以在UIDatePicker对象上使用setMaximumDate:和setMinimumDate::

[dateofBirthDatePicker setMaximumDate:[NSDate date]]; // The max date will be today

// Optional you can set up min date as well
[dateofBirthDatePicker setMinimumDate:yourMinDate];

字符串

7gs2gvoe

7gs2gvoe5#

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

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

字符串

v8wbuo2f

v8wbuo2f6#

在SwiftUI内联DatePicker中:

DatePicker("Select Date", selection: $date, in: ...Date())

字符串

相关问题