您的位置:首页 > 产品设计 > UI/UE

简述UIDatePicker的用法

2016-02-23 09:26 507 查看

1.Locale

设置DatePicker的地区,即设置DatePicker显示的语言。

1.跟踪所有可用的地区,取出想要的地区

NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);

2. 设置日期选择控件的地区

[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];

效果:





[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_SC"]];

效果:





2.Calendar

设置DatePicker的日历。

默认为当天。

[datePicker setCalendar:[NSCalendar currentCalendar]];

3.timeZone

设置DatePicker的时区。

默认为设置为:[datePicker setTimeZone:[NSTimeZone defaultTimeZone]];

4.date

设置DatePicker的日期。

默认设置为: [datePicker setDate:[NSDate date]];

5.minimumDate

设置DatePicker的允许的最小日期。

6.maximumDate

设置DatePicker的允许的最大日期。

7.countDownDuration

设置DatePicker的倒计时间.

1) 设置日期选择的模

[self.datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

2) 设置倒计时的时长

注意:设置倒计时时长需要在确定模式之后指定

// 倒计时的时长,以秒为单位

[self.datePicker setCountDownDuration:10 * 60];

效果:





8.minuteInterval

你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:

// 设置分钟间隔

datePicker.minuteInterval = 15;

9.datePickerMode

9.1 UIDatePickerModeTime,

// Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)

显示小时,分钟和AM/PM,这个的名称是根据本地设置的

[datePicker setDatePickerMode:UIDatePickerModeTime];

效果图:





9.2 UIDatePickerModeDate,

// Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)

显示年月日,名称根据本地设置的

[datePicker setDatePickerMode:UIDatePickerModeDate];

效果图:





9.3 默认是显示这种模式

UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)

显示日期,小时,分钟,和AM/PM,名称是根据本地设置的

[datePicker setDatePickerMode:UIDatePickerModeDateAndTime];

效果图:





9.4

UIDatePickerModeCountDownTimer // Displays hour and minute (e.g. 1 | 53)

显示小时和分钟

[datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

效果图:





10. UIDatePicker使用教程一。

10.1初始化

// 不用设置宽高,因为它的宽高是固定的

UIDatePicker *datePicker = [[UIDatePicker alloc] init];

10.2常用设置

// 设置区域为中国简体中文

datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

// 设置picker的显示模式:只显示日期

datePicker.datePickerMode = UIDatePickerModeDate;

10.3UIDatePicker需要监听值的改变

[datePicker addTarget:self action:@selector(dateChange:)forControlEvents:UIControlEventValueChanged];

11.UIDatePicker使用教程二。

11.1日期范围

你可以通过设置mininumDate 和 maxinumDate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要NSDate 对象作参数:

NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];

NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];

datePicker.minimumDate = minDate;

datePicker.maximumDate = maxDate;

11.2 如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性:

datePicker.date = minDate;

11.3 此外,你还可以用 setDate 方法。如果选择了使用动画,则表盘会滚动到你指定的日期:

[ datePicker setDate:maxDate animated:YES];

例如:

// 初始化UIDatePicker

UIDatePicker *datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 200, 320, 216)];

// 设置时区

[datePicker setTimeZone:[NSTimeZonetimeZoneWithName:@"GMT"]];

// 设置当前显示时间

[datePicker setDate:tempDateanimated:YES];

// 设置显示最大时间(此处为当前时间)

[datePicker setMaximumDate:[NSDatedate]];

// 设置UIDatePicker的显示模式

[datePicker setDatePickerMode:UIDatePickerModeDate];

//当值发生改变的时候调用的方法

[datePicker addTarget:self
action:@selector(datePickerValueChanged:)forControlEvents:UIControlEventValueChanged];

[self.view addSubview:datePicker];

[datePicker release];

// 获得当前UIPickerDate所在的时间

NSDate *selected = [datePickerdate];

转载自:http://my.oschina.net/u/615517/blog/330210
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: