UIDatePicker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIDatePicker相关的知识,希望对你有一定的参考价值。

一, 效果图。

技术分享

#import <UIKit/UIKit.h>

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

@end

 

 

#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.
}

 

以上是关于UIDatePicker的主要内容,如果未能解决你的问题,请参考以下文章

UIDatePicker 泄漏

iOS14 UIDatePicker 有一个偏移量

UIDatePicker 不隐藏

IQKeyboardManager 与 UIDatePicker

带有 UIToolbar 错误的 UIDatePicker

带有 UIToolbar 的 UIDatePicker