iphone - 无法在 UIDatepicker 中解锁之前的月份和日期并且还显示 ios 中的时间

标签 iphone objective-c ios xcode uidatepicker

在我的项目中,我需要显示 18 年前的日期并锁定 100 年,我像这样尝试过,但这里锁定了那一年(1912 年)的日期和月份,我还需要显示所有的日期和月份那年(1912 年)还有一件事,当我选择日期时,它与时间一起显示,我不想显示时间,任何人都可以解决这个问题 check the screen shot of year showing Date along with time

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

关于iphone - 无法在 UIDatepicker 中解锁之前的月份和日期并且还显示 ios 中的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12952008/

相关文章:

iphone - 在哪里可以找到用于 iO 的 Boids 算法的一些开源实现?

iPhone重新加载表数据

ios - 更改图层 Z 位置时 renderInContext 无法正常工作

iOS 应用崩溃并出现错误 : NSCFNumber stringByReplacingOccurrencesOfString:withString: unrecognized selector sent to instance

ios - 我们如何在单例中使用 Alamofire NetworkReachabilityManager?

ios - 使用 NSUrl 获取视频文件的 NSData

ios - Cordova 相机从iOS上的库返回错误的照片

iphone - iPhone 上的 Coredata,一个请求中的 setFetchBatchSize 和 setPropertiesToFetch

iphone - 在 map View 中实现获取方向

iphone - 一些 CoreData 关系在关闭应用程序后丢失