8.4 UIDatePicker 时间选择器
#import "ViewController.h"
@interface ViewController ()
{
UIDatePicker *_datePciker;
UILabel *_label;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 添加一个显示日期的文本框
_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 50, self.view.frame.size.width, 40)];
_label.font = [UIFont systemFontOfSize:30];
_label.textColor = [UIColor redColor];
_label.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:_label];
// 宽度(屏幕的宽度)和高度(219)定死的
_datePciker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 100, 0, 0)];
[self.view addSubview:_datePciker];
// 设置文字显示样式
[self setDatePickerLocale];
// 设置显示的内容
[self setDatePickerContent];
// 监听值得改变
[_datePciker addTarget:self action:@selector(dataPickerChange:) forControlEvents:UIControlEventValueChanged];
// 设置显示的时间和日期
[self setDatePickerDate];
}
- (void)setDatePickerLocale
{
NSLog(@"%@",[NSLocale availableLocaleIdentifiers]);
// 1. 设置英文显示
// [_datePciker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_SC"]];
// 2. 中文显示
[_datePciker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"]];
}
- (void)setDatePickerContent
{
// UIDatePickerModeTime, 只显示时间
// UIDatePickerModeDate, 只显示日期
// UIDatePickerModeDateAndTime 同时显示时间和日期
// UIDatePickerModeCountDownTimer, 倒计时
[_datePciker setDatePickerMode:UIDatePickerModeDate];
// 如果当前状态是倒计时状态 设置倒计时的时长(单位是 秒)
// [_datePciker setCountDownDuration:600];
}
- (void)dataPickerChange:(UIDatePicker *)sender
{
// 获取时间选择器的时间
NSDate *date = sender.date;
// 设置日期格式
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
_label.text = [dateFormatter stringFromDate:date];
}
- (void)setDatePickerDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:@"2080-12-20"];
[_datePciker setDate:date];
}
@end