博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIPikerView的属性和使用方法
阅读量:5156 次
发布时间:2019-06-13

本文共 2070 字,大约阅读时间需要 6 分钟。


UIPikerView的属性

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));

 

 

delegate:

2.0 设置UIPickerView代理

_pickerView.delegate = self;

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

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

{

    return @"showData";

}

 

 

- (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; 

}

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;                                  

 

转载于:https://www.cnblogs.com/new-docker/p/4933678.html

你可能感兴趣的文章
USACO Broken Necklace
查看>>
中小型网站生存之道
查看>>
如何获取repeater某行第一列的值
查看>>
利用"SQL"语句自动生成序号的两种方式
查看>>
discuz完善用户资料任务不能完成的解决方法
查看>>
结对编程之实战
查看>>
linux内核调度算法(2)--CPU时间片如何分配
查看>>
微软银光 Sliverlight
查看>>
java学习日记(9)———socket,网络编程的学习
查看>>
BLE4.0教程四 新增特征值(CC2541)
查看>>
TTButton 的正确使用的方法
查看>>
SQL Server数据库漏洞评估了解一下
查看>>
gdb打印STL和boost容器
查看>>
HDU4790
查看>>
MySQL安装相关
查看>>
其他——[转]从实现iPhone的OAuth封装看国内互联网和开放平台
查看>>
[LeetCode] Remove Element 分析
查看>>
编译安装httpd-2.4.12
查看>>
Worker Thread
查看>>
vuejs解析url地址
查看>>