博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIDatePicker和UIPickerView
阅读量:7062 次
发布时间:2019-06-28

本文共 2561 字,大约阅读时间需要 8 分钟。

hot3.png

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;

转载于:https://my.oschina.net/u/2499773/blog/530102

你可能感兴趣的文章
面向多类型场景,浪潮超融合架构解决方案亮相vForum
查看>>
《OpenGL编程指南(原书第9版)》——1.2 初识OpenGL程序
查看>>
大数据为推动中国出版“走出去”提供新机遇
查看>>
物联网路径,美国运营商怎么走?
查看>>
除Hadoop大数据技术外,还需了解的九大技术
查看>>
印度限制官员使用智能手机:真因为怕中国黑客?
查看>>
沪穗深百万地铁族担心:花生WiFi到底安全吗?
查看>>
东莞:现代会展公司成立呼叫中心 大数据分析提升办展质量
查看>>
实现“中国制造”向“中国智造”转变 大数据技术成关键
查看>>
苹果市值15个交易日蒸发450亿美元 相当于半个波音
查看>>
中小企业网络方案商该关注哪些增值空间?
查看>>
苹果Safari浏览器遭遇全球故障 搜索即崩溃
查看>>
周鸿祎谈360回归初衷
查看>>
安防爆发年 谈谈车牌识别如何实现从原理到应用的转变?
查看>>
凯立德智慧物流地图服务平台让物流行业更省心
查看>>
安防产业布局跨境电商 有哪些方法?
查看>>
明晰监管范围保护信息安全
查看>>
超融合架构:主数据存储使命之外
查看>>
澳大利亚电信公布其可编程网络计划
查看>>
《Excel数据可视化:一样的数据不一样的图表》——3.2 用项目规则显示隐藏在计算机中的数据...
查看>>