UIPickerView
轮转界面提供多值选项,和tableView挺类似
1.首先初始化,并设置大小,这里的大小设置是否有作用,再试。
_picker = [[UIPickerViewalloc]initWithFrame:CGRectMake(0,100, 375, 300)];
2.实现两个代理方法UIPickerViewDelegate,UIPickerViewDataSource
_picker.delegate =self;
_picker.dataSource =self;
3.加到view上类似于其他控件的使用
[self.viewaddSubview:_picker];
4.要实现的代理方法
----1.返回多少列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
----2.返回多少行,每一列中的多少行
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return self.flags.count;
}
----3.自定义pickview的行,用来显示内容的
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
return flagView;
}
----4.返回pickerView的高度
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
return 100;
}
----5.返回宽度
-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{
return 200;
}
----6.数据,可以直接显示内容的。
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
NSArray *items =self.foods[component];
return items[row];
}
----7.选中时候的,选中的效果
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
1》找到列
NSArray *items =self.foods[component];
2》找到行
NSString *str = items[row];
NSLog(@"%@",str);
NSLog(@"%ld,%ld",row,component);
}
----8.刷新第一列的。类似tableView的刷新
[_pickViewreloadComponent:1];
----9.不管之前第二列时几行,重新刷新之后都显示第二列的第二行
[_pickViewselectRow:1inComponent:1animated:YES];
UIDatePicker
1.初始化
_datePicker = [[UIDatePickeralloc]initWithFrame:CGRectMake(20,150, 300, 200)];
2.设置中文时间
_datePicker.locale = [[NSLocalealloc]initWithLocaleIdentifier:@"zh_CN"];
设置为中国、,如果不设置默认为英文显示
3.跟踪所有可用的地区,取出想要的地区
NSLog(@"%@", [NSLocaleavailableLocaleIdentifiers]);
4.设置DatePicker的日历。默认为当天。
[_datePickersetCalendar:[NSCalendarcurrentCalendar]];
5.timeZone 设置DatePicker的时区。默认为设置为:
[_datePickersetTimeZone:[NSTimeZonedefaultTimeZone]];
6..countDownDuration设置DatePicker的倒计时间.
----1) 设置日期选择的模
[_datePickersetDatePickerMode:UIDatePickerModeCountDownTimer];
----2)设置倒计时的时长
----3)倒计时的时长,以秒为单位
[_datePickersetCountDownDuration:10 *60];
7.转换格式,显示当前的年月日
[_datePickersetDatePickerMode:UIDatePickerModeDate];
8.默认的选中模式
[_datePickersetDatePickerMode:UIDatePickerModeDateAndTime];
9。显示小时和分钟
[_datePickersetDatePickerMode:UIDatePickerModeCountDownTimer];
[self.viewaddSubview:_datePicker];
设置textField输入框的输入方式为UIDatePicker
1.采用这种方法就可以看改变下面的输入框的问题
UIDatePicker *p = [[UIDatePickeralloc]init];
2.在text的输入选择位UIDatePicker日期选择器
text.inputView = p;
[self.viewaddSubview: text];
3.设置的一个toolBar
UIToolbar *toolBar = [[UIToolbaralloc]initWithFrame:CGRectMake(0,0, 375, 49)];
UIBarButtonItem *bar = [[UIBarButtonItemalloc]initWithTitle:@"第一个"style:UIBarButtonItemStylePlaintarget:selfaction:nil];
4.加一个固定的长度作为弹簧效果
UIBarButtonItem *barFit = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:nilaction:nil];
UIBarButtonItem *bar1 = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDonetarget:selfaction:@selector(bar:)];
5.将设置的按钮加到toolBar上
toolBar.items =@[bar,barFit,bar1];
6.将toolBar加到text的输入框也就是UiDatePicker上
text.inputAccessoryView = toolBar;