UIPikerView的属性

本文介绍了UIPickerView的属性,包括numberOfComponents、numberOfRowsInComponent、rowSizeForComponent、showsSelectionIndicator等,详细讲解了这些属性的功能和使用方法,以及如何通过数据源和代理方法来设置和更新PickerView的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIPikerView的属性

一、属性

1. numberOfComponents:

返回UIPickerView当前的列数

NSInteger num = _pickerView.numberOfComponents;
NSLog( @"%d", num);

2. - (NSInteger)numberOfRowsInComponent:(NSInteger)component;

返回component列中有多少行。

NSInteger numInCp = [_pickerView numberOfRowsInComponent:0];
NSLog(@"%d",numInCp);

3. - (CGSize)rowSizeForComponent:(NSInteger)component;

返回component中一行的尺寸。
这里写图片描述

CGSize size = [_pickerView rowSizeForComponent:0];
NSLog(@"%@", NSStringFromCGSize(size));

4. showsSelectionIndicator:

是否显示指示器,默认为NO

_pickerView.showsSelectionIndicator = NO;

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

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

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

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

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

7.刷新某一列的数据

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

[pickerView reloadComponent:1];

8. 刷新所有列的数据

 -(void)reloadAllComponents;

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

-(NSInteger)selectedRowInComponent:(NSInteger)component;

二、 delegate:

2.0

UIPickerVie_pickerView.delegate = self;//设置UIPickView每行显示的内容

2.1

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:
(NSInteger)row forComponent:(NSInteger)component
{
    return @"showData";
}

这里写图片描述

2.2 - (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=[[UIView alloc]init];
    myView.backgroundColor = [UIColor redColor];
    return myView;
}

效果:
这里写图片描述

三、 dataSource:数据源

#pragma mark  - dataSource method
// 设置每列显示3行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return 3;
}
// 设置显示2列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 2; 
}

声明:这是之前朋友的资料,可能比较旧,在此仅仅做个人备份,大家参考看,如果涉及侵权了联系我删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值