美文网首页
8.4 UIDatePicker 时间选择器

8.4 UIDatePicker 时间选择器

作者: 草根小强 | 来源:发表于2019-04-24 19:33 被阅读0次

    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
    
    UIDatePicker 时间选择器.png

    相关文章

      网友评论

          本文标题:8.4 UIDatePicker 时间选择器

          本文链接:https://www.haomeiwen.com/subject/fxowgqtx.html