在Datepicker中,我设置了最小和最大时间,其中uidatepicker可以滚动,例如我将3:00 PM设置为最小时间,晚上8:00设置为最大时间,当我运行应用程序时,我希望datepicker显示最小时间而不是当前时间该设备 . 我在我的项目中没有使用硬编码的UIDatepicker在xib文件中使用 . 我已经设置了最短时间但是当我从control.tag == 1切换到2时最小时间更改以及当我第一次打开应用程序时,datepicker不会从最短时间开始 .
更新:
-(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];
}
}
5 回答
将String传递给方法和格式到日期......
在更改Picker时,它会将时间转换为UTC 00:00,但它会显示您的时区的时间,例如 . 印度,它将UTC 05:30添加到时间 . 如果任何TimeZone问题将TimeZone设置为 NSDateFormatter .
编辑:
对于Swift版本:
UIDatePicker类有一个
setDate:animated:
方法,您可以使用该方法将日期设置为日期选择器实例上所需的任何日期/时间 .更多信息:http://developer.apple.com/library/ios/documentation/uikit/reference/UIDatePicker_Class/Reference/UIDatePicker.html#//apple_ref/doc/uid/TP40006806-CH3-SW1