美文网首页
时间选择器 UIDatePicker

时间选择器 UIDatePicker

作者: 凌晨四点的洛杉矶 | 来源:发表于2016-08-18 11:34 被阅读84次

    改变时间选择器颜色及选中字体颜色

        self.datePicker = [[UIDatePicker alloc] init];
        self.datePicker.datePickerMode = UIDatePickerModeDate;
        self.datePicker.timeZone = [NSTimeZone timeZoneWithName:@"GTM+8"]; // 设置时区,中国在东八区
        self.datePicker.dk_backgroundColorPicker = DKColorPickerWithKey(BAR);
        [self.datePicker setValue:[UIColor colorWithRed:0.651 green:0.714 blue:0.816 alpha:1.000] forKey:@"textColor"];
        [self.datePicker addTarget:self action:@selector(oneDatePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; // 添加监听器
        
        // 设置最小时间
        NSString *minStr = @"1970-01-01";
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd"];
        NSDate *minDate = [dateFormatter dateFromString:minStr];
        self.datePicker.minimumDate = minDate;
    
        
        // runtime 改变选中时间的颜色
        SEL selector = NSSelectorFromString(@"setHighlightsToday:");
        NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDatePicker instanceMethodSignatureForSelector:selector]];
        BOOL no = NO;
        [invocation setSelector:selector];
        [invocation setArgument:&no atIndex:2];
        [invocation invokeWithTarget:self.datePicker];
    

    选中方法

    #pragma mark - 实现oneDatePicker的监听方法
    - (void)oneDatePickerValueChanged:(UIDatePicker *) sender {
        
        NSDate *select = [sender date]; // 获取被选中的时间
        NSDateFormatter *selectDateFormatter = [[NSDateFormatter alloc] init];
        selectDateFormatter.dateFormat = @"yy:MM:dd"; // 设置时间和日期的格式
        NSString *dateAndTime = [selectDateFormatter stringFromDate:select]; // 把date类型转为设置好格式的string类型
        
        // 在控制台打印消息
        NSLog(@"%@----%@", [sender date], dateAndTime);
    }
    

    相关文章

      网友评论

          本文标题:时间选择器 UIDatePicker

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