gpt4 book ai didi

iphone - 如何设置最小时间每次都显示为UIDatepicker中的默认时间

转载 作者:行者123 更新时间:2023-12-01 17:13:32 24 4
gpt4 key购买 nike

在Datepicker中,我已经设置了uidatepicker可以滚动的最小和最大时间,例如,我将3:00 PM设置为最小时间,将8:00 PM设置为最大时间,当我运行该应用程序时,我希望日期选择器显示最小时间而不是当前时间设备的。我在xib文件中没有使用的项目中对UIDatepicker进行了硬编码。我已经设置了最小时间,但是当我从control.tag == 1切换到2时,最小时间会发生变化,而且当我第一次打开应用程序时,日期选择器不会从最小时间开始。

更新:

-(IBAction)notificationButtonChanged:(UIButton *)control
{

if (control.tag == 1)
{
self.selectedButton = control.tag;

[userTimePicker reloadInputViews];

[components setHour:7];;
[components setMinute:00];

NSDate *date1 = [gregorian dateFromComponents:components];

[components setHour:11];
[components setMinute:00];

NSDate *date2 = [gregorian dateFromComponents:components];

[userTimePicker setDatePickerMode:UIDatePickerModeTime];

[userTimePicker setMinimumDate:date1];
[userTimePicker setMaximumDate:date2];

}

if (control.tag == 2)
{
self.selectedButton = control.tag;

[userTimePicker reloadInputViews];

[components setHour:12];
[components setMinute:00];

NSDate *date1 = [gregorian dateFromComponents:components];

[components setHour:17];
[components setMinute:00];

NSDate *date2 = [gregorian dateFromComponents:components];

[userTimePicker setDatePickerMode:UIDatePickerModeTime];

[userTimePicker setMinimumDate:date1];
[userTimePicker setMaximumDate:date2];

}

}

最佳答案

编辑:

int startHour = 7;
int endHour = 11;

NSDate *date1 = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDateComponents *components = [gregorian components: NSUIntegerMax fromDate: date1];
[components setHour: startHour];
[components setMinute: 0];
[components setSecond: 0];
NSDate *startDate = [gregorian dateFromComponents: components];

[components setHour: endHour];
[components setMinute: 0];
[components setSecond: 0];
NSDate *endDate = [gregorian dateFromComponents: components];

[userTimePicker setDatePickerMode:UIDatePickerModeTime];
[userTimePicker setMinimumDate:startDate];
[userTimePicker setMaximumDate:endDate];
[userTimePicker setDate:startDate animated:YES];
[userTimePicker reloadInputViews];

关于iphone - 如何设置最小时间每次都显示为UIDatepicker中的默认时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com