奇怪的行为在IOS 6.1我已经设置最小日期为当前日期为我的日期选择器这样日期选择器滚动到过去的日期,即使最小的日期设置为当前日期
NSDate *currentTime = [NSDate date];
[picker setMinimumDate:currentTime];
但是,当我运行应用程序,我可以滚动到过去的日期,虽然它没有选择,选择器不会跳回到当前日期。它仅在iOS 6.1版本中发生,而其余选取器正常运行。
奇怪的行为在IOS 6.1我已经设置最小日期为当前日期为我的日期选择器这样日期选择器滚动到过去的日期,即使最小的日期设置为当前日期
NSDate *currentTime = [NSDate date];
[picker setMinimumDate:currentTime];
但是,当我运行应用程序,我可以滚动到过去的日期,虽然它没有选择,选择器不会跳回到当前日期。它仅在iOS 6.1版本中发生,而其余选取器正常运行。
我得到了同样的问题,因为你和日期仅设置为最大日期固定它手动(在这种情况下,我将限制设置为当前日期):
- (IBAction)pickerValueChanged:(id)sender {
dispatch_async(dispatch_get_main_queue(), ^{
UIDatePicker *datePicker = (UIDatePicker *)sender;
if ([self.datePicker.date compare:[NSDate date]] == NSOrderedDescending) {
datePicker.date = [NSDate date];
}
});
}
此功能在来自日期选择器的日期值确实为变化。您可以在此设置最大值或最小值。
必须设置最小和最大日期,如:
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[datePicker setMinimumDate:minDate];
还是同样的问题的人。能够滚动到旧日期。 – 2013-03-20 07:37:48
试试这个代码
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
[comps setYear:30];
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];
真的,你会得到像你的答案方式currunt日期..? – 2013-03-20 07:12:57
@Prem我试过你的解决方案,它不起作用。这是iOS 6.1中的错误吗? – 2013-03-20 07:20:34
http://code4app.net/ios/Local-Notifier/4fb5e7c06803fa3a7f000000我从这个链接的示例..教我如果有任何错误..thks – moosa0709 2013-03-20 07:20:44
该属性是一个NSDate对象或零(默认),这意味着没有最大日期。此属性以及minimumDate属性可让您指定有效的日期范围。如果最小日期值大于最大日期值,则两个属性均被忽略。在倒数计时器模式(UIDatePickerModeCountDownTimer)中,最小和最大日期也被忽略。
尝试设置有效的最小和最大日期。 它适合我。
查看我编辑的答案.. – moosa0709 2013-03-20 07:51:48