美文网首页
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