086设置日期选择器框的显示样式

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2 
3 @interface ViewController : UIViewController
4 @property (strong, nonatomic) UIDatePicker *datePChoice;
5 
6 @end

ViewController.m

 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()
 4 - (void)layoutUI;
 5 - (void)pickerDidChange:(UIDatePicker *)sender;
 6 - (void)buttonDidPush:(UIButton *)sender;
 7 @end
 8 
 9 @implementation ViewController
10 
11 - (void)viewDidLoad {
12     [super viewDidLoad];
13     
14     [self layoutUI];
15 }
16 
17 - (void)didReceiveMemoryWarning {
18     [super didReceiveMemoryWarning];
19     // Dispose of any resources that can be recreated.
20 }
21 
22 - (void)layoutUI {
23     _datePChoice = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
24     CGPoint newPoint = self.view.center;
25     _datePChoice.center = newPoint;
26     _datePChoice.datePickerMode = UIDatePickerModeDateAndTime; //默认值是UIDatePickerModeDateAndTime
27     [_datePChoice addTarget:self
28                      action:@selector(pickerDidChange:) forControlEvents:UIControlEventValueChanged];
29     [self.view addSubview:_datePChoice];
30     
31     UIButton *btnChoice = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 280, 40)];
32     newPoint.y += 160;
33     btnChoice.center = newPoint;
34     btnChoice.layer.masksToBounds = YES;
35     btnChoice.layer.cornerRadius = 10.0;
36     btnChoice.layer.borderColor = [UIColor colorWithRed:0.655 green:0.619 blue:0.601 alpha:1.000].CGColor;
37     btnChoice.layer.borderWidth = 2.0;
38     [btnChoice setTitle:@"切换日期选择器框的显示样式" forState:UIControlStateNormal];
39     [btnChoice setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
40     [btnChoice addTarget:self
41                   action:@selector(buttonDidPush:)
42         forControlEvents:UIControlEventTouchUpInside];
43     [self.view addSubview:btnChoice];
44 }
45 
46 - (void)pickerDidChange:(UIDatePicker *)sender {
47     NSLog(@"%@", [_datePChoice.date description]); //2015-04-19 11:00:03 +0000;显示时区少了8个钟,所以用NSDateFormatter显示的时间才算正常时区时间
48 }
49 
50 - (void)buttonDidPush:(UIButton *)sender {
51     //设置日期选择器框的显示样式
52     static NSInteger i = 1;
53     switch (i%4) {
54         case 0:
55             _datePChoice.datePickerMode = UIDatePickerModeDateAndTime; //UI效果:4月19日 周日 下午 7 00
56             break;
57         case 1:
58             _datePChoice.datePickerMode = UIDatePickerModeDate; //UI效果:2005年 4月 19日
59             break;
60         case 2:
61             _datePChoice.datePickerMode = UIDatePickerModeTime; //UI效果:下午 7 00
62             break;
63         case 3:
64             _datePChoice.datePickerMode = UIDatePickerModeCountDownTimer; //UI效果:0hours 1min
65             break;
66     }
67     i++;
68 }
69 
70 @end
原文地址:https://www.cnblogs.com/huangjianwu/p/4579228.html