[IOS]今天开始学UI---UIDatePicker

UIDatePicker是提供多个滚轮选取时间的UI

实际应用中确实很少见到使用这种UI 除了苹果自己的Clock App

但是任然简要的介绍一下吧

实际效果如图



同样我们依然会去查看头文件定义 

typedef NS_ENUM(NSInteger, UIDatePickerMode) {
    UIDatePickerModeTime,           // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
    UIDatePickerModeDate,           // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
    UIDatePickerModeDateAndTime,    // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
    UIDatePickerModeCountDownTimer, // Displays hour and minute (e.g. 1 | 53)
};

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIDatePicker : UIControl <NSCoding>
@property (nonatomic) UIDatePickerMode datePickerMode; // default is UIDatePickerModeDateAndTime

@property (nonatomic, retain) NSLocale   *locale;   // default is [NSLocale currentLocale]. setting nil returns to default
@property (nonatomic, copy)   NSCalendar *calendar; // default is [NSCalendar currentCalendar]. setting nil returns to default
@property (nonatomic, retain) NSTimeZone *timeZone; // default is nil. use current time zone or time zone from calendar

@property (nonatomic, retain) NSDate *date;        // default is current date when picker created. Ignored in countdown timer mode. for that mode, picker starts at 0:00
@property (nonatomic, retain) NSDate *minimumDate; // specify min/max date range. default is nil. When min > max, the values are ignored. Ignored in countdown timer mode
@property (nonatomic, retain) NSDate *maximumDate; // default is nil

@property (nonatomic) NSTimeInterval countDownDuration; // for UIDatePickerModeCountDownTimer, ignored otherwise. default is 0.0. limit is 23:59 (86,399 seconds). value being set is div 60 (drops remaining seconds).
@property (nonatomic) NSInteger      minuteInterval;    // display minutes wheel with interval. interval must be evenly divided into 60. default is 1. min is 1, max is 30

- (void)setDate:(NSDate *)date animated:(BOOL)animated; // if animated is YES, animate the wheels of time to display the new date
@end

首先UPIDatePickerView有四种样式可选

1.UIDatePickerModeTime 可以设置时 分 上下午


2.UIDatePickerModeDate    可以设置年 月 日


3. UIDatePickerModeDateAndTime 可以设置月 日 weekday 时 分 上下午


4.UIDatePickerModeCountDownTimer 可以设置时分



此UIT提供locale calendar timezone 三个属性分别代表 地区 日历 时间区


并且可以以属性设置日期上下限

maximumDate

minmumDate 

可以表示可以选择的日期上下限  实际上在选择的时候是滚轮是可以翻过指定日期 但是最后回回滚回初始默认值


在需要设置UIPickerView的时候建议使用 setDate 方法 因为可以有动画效果



UIPicker使用起来也是相当的简单

1.初始化

UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.center = self.view.center;
[self.view addSubView:datePicker];


如果调用其的 initWithFrame 方法来制定UIPickerView的大小并不能起作用

需要在以上方法后追加

datePicker.frame = CGRectMake(0, 0, 300, 200); 
来设置大小


如果要转轮选定确定值的时候 执行某一个方法 

可以调用其直接父类的

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
使用方法同UIButton 只不过这里的触发Event要变成 UIControlEventValueChanged

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




这里附上如何值改变 后 反应到 label上

- (void)updateDatePickerLabel {
    self.dateLabel.text = [self.dateFormatter stringFromDate:self.datePicker.date];
}







that's all 

thx

Everything you see on Screen is UIView.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值