美文网首页
IOS开发 UIPickerView

IOS开发 UIPickerView

作者: 奔跑的小小鱼 | 来源:发表于2017-05-30 22:25 被阅读194次

    本节学习内容:

    1.UIPickerView的概念

    2.UIPickerView的协义方法

    3.UIPickerView的应用

    UIPickerView的属性

    dataSource:数据代理对象

    numberOfComponentsLnPickerView:获得分组个数协义

    numberOfRowsInComponent:获得行数协义

    titleForRow:获得元素文字协义

    rowHeightForCimponent:设置行高f协义

    viewForRow:获取视图对象元素协义

    [ViewController.h】

    #import<UIKit/UIKit.h>

    @interface

    //添加UIPickerViewDelegate:普通协义代理,处理视图选取等普通事件协义功能,,UIPickerViewDataSource:数据协义代理,处理获取数据的代理协义函数

    ViewController:UIViewController<UIPickerViewDelegate,UIPickerViewDataSource>

    【ViewController.m】

    #import"ViewController.h"

    @interface ViewController()

    @end

    @implementation ViewController

    -(void)viewdidLoad{

    [super viewDidLoad];

    //创建选择视图对象,显示多组数据和多个元素以供选择,例如选择日期,时间,日历效果,地区地址等功能

    UIPickerView* ickerView=[[UIPickerView alloc]init];

    pickerView.frame=CGRectMake[10,100,300,200);

    //设置普通代理对象为当前的视图控器

    pickerView.delegate=self;

    //设置数据代理对象为当前视图控制器

    pickerView.dataSource=self;

    [self.view addSubview:pickerView];

    }

    //实现获取组数的协议函数,返回值为选择视图的组数,整形类型

    -(NSInteger)numberOfCpnponentsInPickerView:(UIOickerView *)pickerView{

    returen 3;

    }

    //实现每组元素的个数,每组无素有多少行,参数1:调用此协义的选择视图本身,参数2:第几组的无素个数

    -(NSInteger)pickerView:(UIPickerView *)pickerView numberofRowsInComponent:(NSInteger)component{

    //第一组返回5个

    if(component==0){

    return 5;

    }

    //第二组返回10个

    else if(component==1){

    return 10;

    }

    //第二组返回20个

    else if(component==2){

    return 20;

    }

    //每组10行

    return 10;

    }

    //显示每个元素的内容,参数1:调用此协义的选择视图本身,参数2:行数,参数3:组数

    -(NSString *)pickerView(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

    NSString* str=[NSString stringWithformat:@"%d组%d行",component+1,row+1];

    return str;

    //设置每行元素的高度

    -(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{

    return 80;

    }

    效果图

    //可以将自定义的视图显示到屏幕上

    -(UIView*)pickerView:(UIPickerview *)pickerView viewForRow:(NSInteger)row forcomPonent:(NSInteger)component reusingView:(UIView *)view{

    UIImage* image=[UIImage imageNamed:[NSString stringWithFormat:@"%ld.png",(row)%7+1]];

    UIImageView* iView=[[UIImageView alloc]initWithImage:image];

    //设置图片显示大小

    iView.frame=CGRectMake(0,0,40,40);

    return iView;

    }

    相关文章

      网友评论

          本文标题:IOS开发 UIPickerView

          本文链接:https://www.haomeiwen.com/subject/maxlfxtx.html