UIDatePicker和UIPickerView

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;

相關文章
相關標籤/搜索