答案 0 :(得分:0)
-(void) dateTextField:(id)sender
{
UIDatePicker *picker = (UIDatePicker*) dateOfBirthField.inputView;
// [picker setMaximumDate:[NSDate date]];
[picker setMinimumDate:[NSDate date]];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSDate *eventDate = picker.date;
[dateFormat setDateFormat:@"yyyy/MM/dd"];
NSString *dateString = [dateFormat stringFromDate:eventDate];
dateOfBirthField.text = [NSString stringWithFormat:@"%@",dateString];
}
答案 1 :(得分:0)
MDDatePickerDialog
班级使用MDCalendar
来管理其最短日期。如果您要查看MDCalendar
的实现,您会在initialize
方法中找到以下实现:
_maximumDate = [NSDateHelper mdDateWithYear:2037 month:12 day:31];
首先尝试将此日期设置为您选择的静态值以查看这是必需变量,然后您可以将此属性声明移动到MDCalendar
的标头文件,以使此maximumDate
变量可在外部访问班级。下一步,您可以在MDDatePickerDialog
中创建一个属性,以设置最大日期与设置最小日期的方式相同。
来自MDDatePicker.m
档案
- (void)setMinimumDate:(NSDate *)minimumDate {
self.calendar.minimumDate = minimumDate;
}
P.S。请记住处理日期验证,例如日期应该有效,最长日期不应早于最短日期等。
希望有所帮助!
答案 2 :(得分:0)
你只需添加日期,无论你想做什么,这里我只需要从当前日期选择一个星期,所以这里是我写的代码,你在那里显示日期选择器只需添加一行:
- _datePicker.maximumDate = [[NSDate date] dateByAddingTimeInterval:60*60*24*7]; ;
之后,将此方法搜索到MDCalender.m文件中并替换为此代码。
- (BOOL)shouldSelectDate:(NSDate *)date {
BOOL result;
if ([self.maximumDate timeIntervalSince1970] >= date.timeIntervalSince1970 ) {
result =
(date.timeIntervalSince1970 >= self.minimumDate.timeIntervalSince1970);
return result;
}
return result;
}
它对我有用。感谢