CYC-pickerview 时间选取器

年月日选取器

#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController
@property (nonatomic,retain)UILabel *secLabel;
@property (nonatomic, retain)UILabel *showLabel;
@property (nonatomic, retain)UIDatePicker * myDatePicker;
@end
#import "RootViewController.h"


@interface RootViewController ()

@end

@implementation RootViewController

-(void)dealloc
{

    [_showLabel release];
    [_myDatePicker release];
    [super dealloc];
}
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

     [self DateTime];

 //   [self viewTime];


}
- (void) DateTime
{
    // UIDatePicker 日期/时间选取器(滚轮)

    // 设置时间
    float oneYearTime = 0;
    // 给myDatePicker添加颜色
    self.myDatePicker.backgroundColor = [UIColor whiteColor];
    // 事件选择器
    self.myDatePicker = [[UIDatePicker alloc] init];
    self.myDatePicker.center = self.view.center;
    self.myDatePicker.datePickerMode =  UIDatePickerModeDate;
    //    // 添加事件, 监听值的改变
    [self.myDatePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:(UIControlEventValueChanged)];

    // 获取当前时间
    NSDate *currentDate = self.myDatePicker.date;
    // 当前显示的时间
    NSDate *oneYearFromToday = [currentDate dateByAddingTimeInterval:oneYearTime];
    // 所能显示的最大时间
    NSDate *twoYearFromToday = [currentDate dateByAddingTimeInterval:50 * oneYearTime ];
    // 最小可选时间
    self.myDatePicker.minimumDate = oneYearFromToday;
    // 最大可选时间
    self.myDatePicker.maximumDate = twoYearFromToday;

    /*
     结论:
     如果两个日期范围属性中任何一个未被设置, 则默认行为将会允许用户选择过去或未来的任意日期

     */

    [self.view addSubview:self.myDatePicker];

    // 表盘滚动到你指定的日期 2
    // [self.myDatePicker setDate:oneYearFromToday animated:YES];


    //    // 设置分钟间隔  3
    //    self.myDatePicker.datePickerMode = UIDatePickerModeCountDownTimer;
    //    self.myDatePicker.minuteInterval = 15;

    // UIDatePicker

    // 设置日期选择控件的地区, 选用 UIDatePickerModeDateAndTime 4
    [self.myDatePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"]]; // 中文
    // [self.myDatePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_SC"]]; // 英文

    // timeZone 6
    // 设置DatePicker的时区(默认设置)
    [self.myDatePicker setTimeZone:[NSTimeZone defaultTimeZone]];

    // datePickerMode, 显示小时, 分钟和AM/PM, 7
    // [self.myDatePicker setDatePickerMode:UIDatePickerModeTime];
    // 显示年月日
    // [self.myDatePicker setDatePickerMode:UIDatePickerModeDate];
    // 显示日期, 小时, 分钟, 和AM/PM
    // [self.myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime];
}
- (void)datePickerDateChanged:(UIDatePicker *)dataPicker
 {

 [self clicked:dataPicker];

 }
 - (void)clicked:(id)sender {
 // 获取用户通过UIDatePicker设置的日期和时间
 NSDate *selected = [self.myDatePicker date];
 // 创建一个日期格式器
 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 // 为日期格式器设置格式字符串
 [dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm"];
 NSString *destDateString = [dateFormatter stringFromDate:selected];
 NSString *message = [NSString stringWithFormat:@"你选择的日期是:%@", destDateString ];
 // 创建一个UIAlertView对象(警告框), 并通过该警告框显示用户选择的日期, 时间
 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"日期和时间" message:message delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
 [alert show];

 }

// 将timer, t定义为全局变量
NSTimer *timer;
static int t = 0;

- (void)viewTime
{

    self.secLabel = [[UILabel alloc]initWithFrame:CGRectMake(140, 500, 100, 40)];
    [self.view addSubview:self.secLabel];
    // 设置Label的字体大小
    self.secLabel.font = [UIFont systemFontOfSize:30];
    self.secLabel.textColor = [UIColor redColor];
        self.myDatePicker.backgroundColor = [UIColor whiteColor];
        // 事件选择器
        self.myDatePicker = [[UIDatePicker alloc] init];
      // 将myDatePicker试图放到屏幕的中间
        self.myDatePicker.center = self.view.center;
         // 选择myDatePicker的样式
        [self.myDatePicker  setDatePickerMode:  UIDatePickerModeCountDownTimer];
    // 将myDatePicker添加到当前视图上
       [self.view addSubview:self.myDatePicker];

// 计时器, 每1秒调用tickDown方法一次, 该方法是类方法
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(tickDown) userInfo:nil repeats:YES];
    [timer fire];


}
- (void)tickDown
{

   t += 30;

    self.secLabel.text = [NSString stringWithFormat:@"%d 秒", t % 60];
   [self.myDatePicker setCountDownDuration:t];


}

效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值