0

我在我的项目中使用 UIDatePicker 控件。在 xib 文件中添加了 UIDatePicker,并以编程方式将 minimumDate、maximumDate 等约束设置为 datePicker。这在模拟器中运行良好,但在设备中我可以在 datePicker 中选择任何日期。

示例代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.datePicker setMinimumDate:[NSDate date]];
    [self.datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:3*24*60*60]];
}

截屏:

在这里,我也可以选择以前的日期。

注意:我正在研究 xcode5 - DP6。

提前致谢。

4

1 回答 1

0

UIControlEventValueChanged为事件添加一个操作UIDatePicker并实施检查以查看所选日期是否大于最大日期或小于最小日期并相应地设置日期,如下所示:

- (IBAction)dateValueChanged:(id)sender
{
    NSTimeInterval date = [self.datePicker.date timeIntervalSince1970];
    NSTimeInterval maxmimumDate = [self.datePicker.maximumDate timeIntervalSince1970];
    NSTimeInterval minimumDate = [self.datePicker.minimumDate timeIntervalSince1970];

    if (date < minimumDate) {
        self.datePicker.date = self.datePicker.minimumDate;
    }

    if (date > maxmimumDate) {
        self.datePicker.date = self.datePicker.maximumDate;
    }

    // Use the selected date
    NSLog(@"%@", self.datePicker.date);
}

如果您选择超出范围的日期,这将导致UIDatePicker滚动到最大/最小日期。

于 2013-09-26T10:29:30.383 回答