UIPickerView简介

原创 2014年12月05日 09:40:00

UIPickerView是选择器类,类似于老虎机或者轮盘来表示一个或多个值的集合。用户可以滑动,来选择所需的值。


获取视图选择器的尺寸:

1.返回UIPickerView当前的列数:

@property(nonatomic, readonly) NSInteger numberOfComponents

2.返回指定列的行数:

- (NSInteger)numberOfRowsInComponent:(NSInteger)component

3.返回每一行的尺寸:

- (CGSize)rowSizeForComponent:(NSInteger)component


加载视图选择器:

4.重新载入该选择器视图的所有组件:

- (void)reloadAllComponents

5.重新加载某一列的组件:

- (void)reloadComponent:(NSInteger)component

行选择:

6.选择指定列的指定行:

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

7.第几列被选中的行号:

- (NSInteger)selectedRowInComponent:(NSInteger)component


返回行和列的视图:

8.返回指定行和列的视图:

- (UIView *)viewForRow:(NSInteger)row
          forComponent:(NSInteger)component


指定代理:

@property(nonatomic, assign) id< UIPickerViewDelegate > delegate


指定数据源:

@property(nonatomic, assign) id< UIPickerViewDataSource > dataSource


外观管理:

显示选中框:

@property(nonatomic) BOOL showsSelectionIndicator


选择器要显示数据,需要依赖两个协议:UIPickerViewDelegate和UIPickerViewDataSource。

UIPickerViewDelegate:

设置选择器视图的尺寸:

1.设置行高:

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

2.设置行宽:

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

设置每行的内容:

3.返回当前行的内容,此处是将内容添加到滚动的那个显示栏上:

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

-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  
{  
    return [pickerData objectAtIndex:row];  
}  

4.

- (NSAttributedString *)pickerView:(UIPickerView *)pickerView
             attributedTitleForRow:(NSInteger)row
                      forComponent:(NSInteger)component

5.当picker view需要给指定的component.row指定view时,调用此函数.返回值为用作row内容的view:

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


选择响应行:

6.当用户选择某个row时,picker view调用此函数:

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


UIPickerViewDataSource:

为选择器提供计数:

1.返回应该有几列:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

2.返回当前列显示的行数:

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UIPickerView加一个时间范围的demo

  • 2015年04月30日 09:12
  • 42KB
  • 下载

iOS UIPickerView的简单使用和数组越界问题

UIPickView是在iOS开发者经常用到的一种控件,经常用于城市选择,日期选择等。本文简单介绍了UIPickerView的简单使用和数组越界问题...

iOS省市区选择器UIPickerView

  • 2016年01月27日 09:42
  • 125KB
  • 下载

[ios开发技巧之]UIPickerView的数据循环显示

由于UIPickerView默认并不提供数据的循环显示方法,而我们平时有时候会有需求要求Picker中的数据循环显示,所以我们只能在数据源上面动手脚。 主要需要处理的有以下几个地方: (转载请保留...

UIPickerView Demo

  • 2013年04月22日 15:40
  • 67KB
  • 下载

代码实现UIPickerView

  • 2012年07月04日 19:40
  • 53KB
  • 下载

UITableView,UITableViewCell,UIPickerView

1.去掉分隔线,背景:    去掉分隔线:    tableView.separatorStyle=UITableViewCellSeparatorStyleNone; //在syle为UIT...

两个UIPickerView控件间的数据依赖

  • 2012年07月06日 16:09
  • 58KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIPickerView简介
举报原因:
原因补充:

(最多只允许输入30个字)