UIDatePicker和UIPickerView

UIPickerView

UIPickerView控件也是iPhone中比较常用到的一个控件,它通过转界面提供一系列多值选项,它向用户显示信息,也收集用户输入。

UIPickerView里⾯的组件数和组件里的

要使用UIPickerView就要遵守两种协议,

一个是UIPickerViewDelegate,另⼀种是UIPickerViewDataSource。

添加UIPickerView必须实现的代理⽅法: 1、列数:numberOfComponentsInPickerView; 2、行数:numberOfRowsInComponent;

添加一个pickerView的步骤:

    1.实例化一个pickerView对象

    UIPickerView *picker=[[UIPickerView alloc]initWithFrame:[[UIScreen mainScreen]bounds]];

    2,遵守两个协议,并设置代理  在.h文件里遵守协议<UIPickerViewDelegate,UIPickerViewDataSource>

    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;


你可能感兴趣的:(UIDatePicker和UIPickerView)