iphone - UIDatePicker 上下限

标签 iphone ios datepicker uidatepicker

所以几周前我询问了如何在 UIDatePicker 上实际锁定特定日期范围的提示,而不是仅仅将它们变灰。它运作良好。 但是现在我遇到了类似的情况,无法正常工作。现在我有一个最小和最大日期,即我只想允许一个小的(或不)日期间隔。

这是我想要做的:(我在日期选择器上添加了一个目标)

-(void) disableDate {
if ([datePicker.date compare:[NSDate date]] == NSOrderedDescending || [datePicker.date compare:datePicker.minimumDate] == NSOrderedAscending) {
    datePicker.date = [NSDate date];
    [datePicker reloadInputViews];
}

一些注意事项: 1)它只在我第一次更改日期选择器的日期时起作用。第二次(以及以后)它不再起作用了——日期选择器不会回滚到当前日期。 2) 注意 1) 由于某种我不知道的原因正在发生,因为正在调用 disableDate,但应用程序永远不会进入“if”,就像我设置的条件永远不会被满足一样。

换句话说:我不知道为什么它滚动一次,因为它从来没有进入 if 语句,我也不知道为什么它从来没有进入 if 语句!

这里有什么想法吗?

提前致谢!

编辑:设置了最小日期和最大日期。

最佳答案

好吧,如果您希望用户无法选择超出您范围的日期,请使用:

UIDatePicker *datePicker = [[UIDatePicker alloc] init];
    datePicker.datePickerMode = UIDatePickerModeDate;

    datePicker.minimumDate=_minDate;
    datePicker.maximumDate=_maxDate;

定义 _minDate 和 _maxDate 的地方:

NSDateComponents* components=[[NSDateComponents alloc] init];

    [components setYear:1900];

    _minDate=[[NSCalendar currentCalendar] dateFromComponents:components];
    _maxDate=[NSDate date];

还有宾果游戏,限制已定义。

希望对你有帮助

关于iphone - UIDatePicker 上下限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19142789/

相关文章:

ios - 向左滑动时 iOS 7 上的 TableView 崩溃

ios - 使用 CLLocationManager 检测何时达到最佳定位精度

javascript - 如何将选定的日期从日期选择器获取到后端的方法

iphone - UIView动画的问题

ios - 我想在我的 iPhone 应用程序中使用多种货币选项作为金额,是否有可用的货币 api 或数据库文件?

iphone - UIPinchGestureRecognizer 的触摸位置

ios - iPhone后台处理

javascript - 如何设置日期选择器 Bootstrap

jQuery datepicker 从服务器端获取当前日期

iphone - Iphone开发使用ARM汇编的优缺点?