UIPicker视图控键

UIPickerView常用属性

一.UIPickerView

1.UIPickerView的常见属性

//数据源(用来告诉UIPickerView有多少列多少行)

@property(nonatomic,assign)id dataSource;

//代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择)

@property(nonatomic,assign)id delegate;

//是否要显示选中的指示器

@property(nonatomic)BOOL showsSelectionIndicator;

//一共有多少列

@property(nonatomic,readonly) NSInteger numberOfComponents;

2.UIPickerView的常见方法

//重新刷新所有列

-(void)reloadAllComponents;

//重新刷新第component列

-(void)reloadComponent:(NSInteger)component;

//主动选中第component列的第row行

-(void)selectRow:(NSInteger)row inComponent:(NSInteger)component

animated:(BOOL)animated;

//获得第component列的当前选中的行号

-(NSInteger)selectedRowInComponent:(NSInteger)component;

3.数据源方法(UIPickerViewDataSource)

//一共有多少列

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;

//第component列一共有多少行

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;

4.代理方法(UIPickerViewDelegate)

//第component列的宽度是多少

-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;

//第component列的行高是多少

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

//第component列第row行显示什么文字

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

//第component列第row行显示怎样的view(内容)

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component  reusingView:(UIView *)view;

//选中了pickerView的第component列第row行

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

下面给出一个小Demo,将集合中的信息显示在控键上,同时也展示了UIpickerView的基本使用

#import<UIKit/UIKit.h>

@interface ViewController : UIViewController

//DataSource 数据源  Delegate 实现方法

//UIPickerView视图控键

@property(strong,nonatomic) UIPickerView *mypicker;

//数据源

@property(strong,nonatomic) NSArray *arr;

@end

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//数据源

self.arr = @[@"one",@"two",@"thress",@"four",@"five"];

//初始化视图控键

self.mypicker = [[UIPickerView alloc] initWithFrame:CGRectMake(100, 200, 200, 100)];

//self.mypicker.backgroundColor = [UIColor brownColor];

//指定代理协议

self.mypicker.delegate = self;

//指定数据源协议

self.mypicker.dataSource = self;

[self.view addSubview:self.mypicker];

}

#pragma mark dataSource(数据源) Method numberOfComponentsInPickerView:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

return 1;// 显示的列数

}

#pragma mark dataSource(数据源) Method pickerView:numberOfRowsInComponent:

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

return self.arr.count;// 返回集合的个数

}

#pragma mark delegate 显示信息方法

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

{

return  self.arr[row];//返回行中的信息

}

#pragma mark 选中行的信息

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

{

//获取集合中的信息

NSLog(@"%@",self.arr[row]);

}

#pragma mark 显示行高

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

{

return 50;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容