【代码笔记】iOS-时间选择框

一, 效果图。

二,工程图。

三,代码。

RootViewController.h

复制代码
#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController
{
    UIDatePicker *datePicker;
    UILabel *timeLabel;
}

@end
复制代码

 

RootViewController.m

复制代码
#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.title=@"timerPicker";
    
    timeLabel=[[UILabel alloc]init];
    timeLabel.backgroundColor=[UIColor redColor];
    timeLabel.frame=CGRectMake(10, 100, 300, 50);
    timeLabel.textAlignment=NSTextAlignmentCenter;
    [self.view addSubview:timeLabel];
    
    
}
//点击任意处,弹出时间选择框
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height-216, 0, 0)];
    datePicker.datePickerMode = UIDatePickerModeDateAndTime;
    [datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];
    [self.view addSubview:datePicker];
}

//开始结束时间选择框
- (void)dateChanged:(id)sender
{
    NSDate *date = datePicker.date;
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm"];
    //设备默认的值
    dateFormatter.locale=[NSLocale systemLocale];
    //将所选择的时候转化为需要的时间格式
    NSString *dateStr = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:date]];
    timeLabel.text=dateStr;
    
    //让选择完时间后,选择框,消失,这个时间可以自己调整
    [UIView animateWithDuration:.5f delay:.5f options:UIViewAnimationOptionCurveEaseInOut animations:^{
        [datePicker setFrame:CGRectMake(0, self.view.frame.size.height, 0, 0)];
    } completion:nil];
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
复制代码

 

 

 
 
原文地址:https://www.cnblogs.com/yang-guang-girl/p/5219367.html