ios - UIDatePickerModeTime 限制时间选择或设置时间范围

标签 ios objective-c uidatepicker

我写了下面的一段代码来带来 pickerView 敌人选择时间。现在运行良好,我想知道如何设置上午 9 点到下午 5 点之间的时间范围。请有人帮助我实现限制时间选择在上午 9 点至下午 5 点之间的要求。

@interface CleaningDetails ()<UITextFieldDelegate>
{
IBOutlet TextFieldValidator *cleanTime;
UIDatePicker *time;
}
@implementation
       time = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
        time.datePickerMode = UIDatePickerModeTime;
        time.minuteInterval = 30;
        // set change the inputView (default is keyboard) to UIPickerView
        [self.cleanTime setInputView:time];
        // add a toolbar with Cancel & Done button
        UIToolbar *toolBar1 = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        toolBar1.barStyle = UIBarStyleBlackOpaque;
        UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(showSelectedTime)];
        UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelTouched:)];
        // the middle button is to make the Done button align to right
        [toolBar1 setItems:[NSArray arrayWithObjects:cancelButton, [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], doneButton, nil]];
        [self.cleanTime setInputAccessoryView:toolBar1];

我对这个编程和 Objective-C 真的很陌生,任何人都可以建议我一些资源或任何想法来完成这个要求。

最佳答案

UIDatePicker 只支持最小和最大日期,不支持时间。但您将使用时间间隔设置时间,使用下面的代码并设置您的时间,

NSDate *minDate = [NSDate new];
// One hour from now
NSDate *maxDate = [[NSDate alloc] initWithTimeIntervalSinceNow:60*60];

UIDatePicker *picker = [UIDatePicker new];
[picker setDatePickerMode:UIDatePickerModeDateAndTime];
[picker setMinimumDate:minDate];
[picker setMaximumDate:maxDate];

希望对你有帮助

关于ios - UIDatePickerModeTime 限制时间选择或设置时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519100/

相关文章:

ios - 如何从具有多个组件的 pickView 中获取确切的值

javascript - Appium ideviceinstaller 无法初始化

ios - 如何沿 z 轴移动 CALayers 并应用透视

objective-c - Xcode 中的基本缩进设置

cocoa-touch - 哪个应该是第一响应者 : my view or UIDatePicker?

ios - Swift:减去日期时无法正确处理日期函数:

ios - 为嵌套 ScrollView 启用区域滚动

iphone - Objective-C : How to make a subclass of UIControl react like a button

objective-c - 保存和访问录音

ios - 点击 UITextField 时如何打开 UIDatePicker