[英]Unable to unlock the previous months and dates in UIDatepicker And also showing the Time in ios
在我的项目中,我需要显示日期18回来并锁定我试过的100年我得到了它但是这里锁定了那一年的日期和月份(1912年)我还需要显示那一年的所有日期和月份( 1912)还有一件事,当我选择日期时,它会随着时间而显示我不想表明时间可以解决这个问题
-(IBAction)donePickerView:(id)sender
{
NSDate *minDate1 =[datePickerView date];
NSString *theDate = [NSString stringWithFormat:@"%@",minDate1];
self.dob.text = theDate;
DatePicView.hidden = TRUE;
datePickerView.hidden =TRUE;
}
-(void)textFieldDidBeginEditing:(UITextField *)textField {
[self scrollViewToCenterOfScreen:textField];
scrlView.scrollEnabled = FALSE;
if (textField == dob)
{
DatePicView.hidden = FALSE;
datePickerView.hidden =FALSE;
NSCalendar * gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDate * currentDate = [NSDate date];
NSDateComponents * comps = [[NSDateComponents alloc] init];
[comps setYear: -18];
NSDate * maxDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[comps setYear: -100];
NSDate * minDate = [gregorian dateByAddingComponents: comps toDate: currentDate options: 0];
[datePickerView setMinimumDate:minDate];
[datePickerView setMaximumDate:maxDate];
[datePickerView setDate:minDate];
[dob resignFirstResponder];
}
}
您将maxDate设置为-100年。
所以maxDate低于minDate,如果这些是另一种方式?
NSLog(@"Now: %@", currentDate);
NSLog(@"Max: %@", maxDate);
NSLog(@"Min: %@", minDate);
Now: 2012-10-18 10:04:43 +0000
Max: 1994-10-18 11:04:43 +0000
Min: 1912-10-18 11:45:11 +0000
如果您选择1980-12-12,这比最大日期低,然后高于最小日期。
UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
// add this to display date only.
[pickerView setDatePickerMode:UIDatePickerModeDate];
[pickerView setMinimumDate:minDate];
[pickerView setMaximumDate:maxDate];
[pickerView setDate:minDate];
[[self view] addSubview:pickerView];
[pickerView setDatePickerMode:UIDatePickerModeDate];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.