UIPickerView的属性

2016-03-13  本文已影响676人  lichengjin

一、属性及方法

1.numberOfComponents:返回UIPickerView当前的列数

NSInteger num = _pickerView.numberOfComponents;

NSlo(@"%d",num);

2.-(NSInteger)numberOfRowslnComponent:(NSIntger)compontent;返回compontent列中有多少行

NSIntegernumInCp = [_pickerViewnumberOfRowsInComponent:0];

NSLog(@"%d",numInCp);

3.-(CGSize)rowSizeForComponent:(NSInteger)component;返回component中一行的尺寸

CGSizesize = [_pickerViewrowSizeForComponent:0];

NSLog(@"%@",NSStringFromCGSize(size));

二、deledate代理

1.设置UIPickerView的代理

_pickerView.delegate = self;

//设置UIPickerView每行显示的内容

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

{

return @"showData";

}

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

//返回一个视图,用来设置pickerView的每行显示的内容。

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

{

UIView*myView=[[UIViewalloc]init];

myView.backgroundColor= [UIColorredColor];

returnmyView;

}

三、dataSource:数据源

#pragma mark-dataSource method

//设置每列显示3行

- (NSInteger)pickerView:(UIPickerView*)pickerView

numberOfRowsInComponent:(NSInteger)component

{

return3;

}

//设置显示2列

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView

{

return2;

}

四. showsSelectionIndicator:是否显示指示器,默认为NO

_pickerView.showsSelectionIndicator=NO;

注意:设置UIPickerView的行数与列数需要设置数据源,遵守UIPickerViewDataSource,设置UIPickerView的内容需要设置代理,并且遵守代理方法UIPickerViewDelegate。

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

当点击UIPickerView的某一列中某一行的时候,就会调用这个方法。

六.返回第component列每一行的高度

- (CGFloat)pickerView:(UIPickerView*)pickerView

rowHeightForComponent:(NSInteger)component;

七.刷新某一列的数据

一旦调用了这个方法,就会重新给数据源发送消息计算这列的行数、重新给代理发送消息获得这列的内容

[pickerViewreloadComponent:1];

八.刷新所有列的数据

- (void)reloadAllComponents;

九.返回选中的是第component列的第几行。

-(NSInteger)selectedRowInComponent:(NSInteger)component;

对省市进行遍历的实例:

结果为:

上一篇 下一篇

猜你喜欢

热点阅读