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

UIDatePick,UIPick

2015-10-16 09:51 399 查看
//创建UIpick遵循UIPickerViewDelegate,UIPickerViewDataSource这两个代理协议

_pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0 , ScreenWidth, ScreenHeigth*4/7)];
_pickerView.delegate = self;
_pickerView.dataSource = self;
_pickerView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:0.5];
[self addSubview:_pickerView];

//pragma mark-UIPickerView代理协议
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _dataSource.count;
}
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _dataSource[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
_choosePage = row;
}


2.UIDatePick

UIDatePicker *datePicker = [ [ UIDatePicker alloc] initWithFrame:CGRectMake(0.0,0.0,0.0,0.0)];

//日期/时间选取器支持4种不同模式的选择方式。通过设置 datePickerMode 属性,可以定义选择模式
/*
UIDatePickerModeTime;
UIDatePickerModeDate;
UIDatePickerModeDateAndTime;
UIDatePickerModeCountDownTimer;
*/
datePicker.datePickerMode = UIDatePickerModeTime;

//你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:
datePicker.minuteInterval = 5;

//四、日期范围:
//你可以通过设置mininumDate 和 maxinumDate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要NSDate 对象作参数
NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];
NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];

datePicker.minimumDate = minDate;
datePicker.maximumDate = maxDate;
//如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性
datePicker.date = minDate;
//此外,你还可以用 setDate 方法。如果选择了使用动画,则表盘会滚动到你指定的日期:
[datePicker setDate:maxDate animated:YES];

//五、读取日期
NSDate* _date = datePicker.date;
//由于日期选择器是 UIControl的子类 (与UIPickerView不同),你还可以在UIControl类的通知结构中挂接一个委托
[datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];

-(void)dateChanged:(id)sender{
UIDatepicker* control = (UIDatePicker*)sender;
NSDate* _date = control.date;
/*添加你自己响应代码*/
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: