UIPickerView代理
UIPickerView控件也是iPhone中比較經常使用到的一個控件,它經過轉界面提供一系列多值選項,它向用戶顯示信息,也收集用戶輸入。component
UIPickerView裏⾯的組件數和組件裏的對象
要使用UIPickerView就要遵照兩種協議,事件
一個是UIPickerViewDelegate,另⼀種是UIPickerViewDataSource。開發
添加UIPickerView必須實現的代理⽅法: 一、列數:numberOfComponentsInPickerView; 二、行數:numberOfRowsInComponent;get
添加一個pickerView的步驟:it
1.實例化一個pickerView對象io
UIPickerView *picker=[[UIPickerView alloc]initWithFrame:[[UIScreen mainScreen]bounds]];配置
2,遵照兩個協議,並設置代理 在.h文件裏遵照協議<UIPickerViewDelegate,UIPickerViewDataSource>date
picker.dataSource=self;
picker.delegate=self;
3.將控件添加在頁面上
[self.view addSubview:picker];
實現兩個必要方法。設置行數和組數
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return 4;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 7;
}
//設置行高
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
return 70;
}
設置組寬
-( CGFloat ) pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{
return 100;
}
設置每行標題內容
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (row==0) {
return @"hhhhhh";
}
return @"hello";
}
每次滑動後調用的方法
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSLog(@"deewrerwrew");
}
設置picker每行每組的view樣式
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
if (component==0&&row==0) {
UIImageView *image=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 20, 30)];
image.image=[UIImage imageNamed:@"0"];
return image;
}
UIDatePicker
UIDatePicker 是一個控制器類,封裝了 UIPickerView,可是他是UIControl的⼦類,專門⽤於接受日期、時間和持續時長的輸入。⽇期選取器的各列會按照指定的⻛格進⾏自動配置, 這樣就讓開發者沒必要關心如何配置錶盤這樣的底層操做。你也能夠對其進⾏行定製,令其使⽤用任何範圍的⽇日期。
UIDatePicker 依賴於 NSDate 類,須要掌握NSDate的基本轉化方法
注意:選取器的高度始終是216像素,要肯定分配了足夠的空間來容納。
⽇期/時間選取器支持4種不一樣模式的選擇方式
UIDatePickerModeCountDownTimer
UIDatePickerModeDate
UIDatePickerModeDateAndTime
UIDatePickerModeTime
設置datePicker的時間差 (分鐘)
_datePicker.minuteInterval = 6;
對datePicker添加事件
[ _datePicker addTarget:self action:@selector(fangFa:) forControlEvents:UIControlEventValueChanged ] ;(UIControlEventValueChanged的意思是當值改變的時候回調方法)
將控件添加在頁面上
[ self.view addSubview:_datePicker ]
當datePicker值發生改變會回調的自定義方法
- ( void ) dateChange : ( UIDatePicker * ) sender {
NSDate * date = _datePicker.date ; //獲取datePicker的時間
NSLog ( @" %@ " , date );
}
設置datePicker的最小時間
_datePicker.minimumDate=date;
設置datePicker的最大時間
_datePicker.maximumDate=date;