您的位置:首页 > 产品设计 > UI/UE

自定义简单的UIDatePicker

2015-12-08 10:48 519 查看
用到时间和日期显示 、ios系统自带的UIDatePicker很好用、写了个小demo、和大家分享、直接上代码,复制粘贴就OK

{

    UIDatePicker * datePicker;

}

/**

 *  创建UIDatePicker

 */

- (void)loadPickerView

{

    NSDate * nowdate = [NSDate date];

    

   // 可以不用设置宽高,因为它的宽高是固定的

 datePicker = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, self.view.frame.size.height-216, self.view.frame.size.width, 216)];

    

   //
设置区域为中国简体中文

    datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

    

/*

    UIDatePickerModeTime,

    UIDatePickerModeDate, 

    UIDatePickerModeDateAndTime, 

    UIDatePickerModeCountDownTimer,

*/

    //
设置picker的显示模式:只显示日期

    datePicker.datePickerMode = UIDatePickerModeDate;

   //需要监听值的改变 UIDatePicker继承与UIControl,可以使用UIControl的方法-
(void)addTarget:(id)target action:(SEL)action                              //forControlEvents:(UIControlEvents)controlEvents获取选择的日期时间。

    [datePicker addTarget:self action:@selector(dateChanged:)forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:datePicker];

    

   //你可以通过设置mininumDate和
maxinumDate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要NSDate对象作参数:

    //设置当前日期为最近有效期

    NSDate * maxDate = nowdate;

    

    datePicker.maximumDate = maxDate;

    

   //你还可以用 setDate方法。如果选择了使用动画,则表盘会滚动到你指定的日期:

    [datePicker setDate:maxDate animated:YES];

}

/**

 *  监听滚动方法

 *

 *  @param sender 对象

 */

- (void)dateChanged:(id)sender

{

    UIDatePicker *control = (UIDatePicker *)sender;

    NSDate *select = control.date;//获取当前控制器

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd"];//设置显示格式

    NSString *dateTime =  [dateFormatter stringFromDate:select];

    _showlab.text = dateTime;//需要显示的地方随意

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 日期选择器