UIPikerView
2015-08-28 17:29
357 查看
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));
2. delegate:
2.0 设置UIPickerView代理_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;
}
效果:
3. 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 *)pickerViewrowHeightForComponent:(NSInteger)component;
7.刷新某一列的数据
一旦调用了这个方法,就会重新给数据源发送消息计算这列的行数、重新给代理发送消息获得这列的内容[pickerView reloadComponent:1];
8. 刷新所有列的数据
- (void)reloadAllComponents;9. 返回选中的是第component列的第几行。
- (NSInteger)selectedRowInComponent:(NSInteger)component;相关文章推荐
- UITableView上拉时崩溃问题及解决
- builder.properties
- UUID.randomUUID()
- UIAlertView基本用法详解和delegate方法调用
- easyUI的列表控件(datagrid)日期列不能正确显示的解决方法
- Django中的request和response
- UIScrollView
- java.lang.SecurityException: Requires VIBRATE permission
- iPhone开发之UIScrollView滚动组件的使用(四) 拖线实现 喜马拉雅案例
- POJ 2031 Building a Space Station
- java.lang.SecurityException: !@Too many alarms (500) registered from pid 10790 uid 10206
- 最火的UI快速开发框架androidannotations
- Ansj标准分词使用注意事项(MyStaticValue.isRealName属性)
- 【Material Design视觉设计语言】UI组件设计(十五):文本框
- uva 1152 4 Values whose Sum is 0(二分_中途相遇|| hash)
- Android UI 绘制过程浅析(四)draw过程
- SQLQuery
- 使用了Autolayout的UITableViewCell动态布局和高度动态改变自适应
- win8.1/win10 UEFI + GPT 安装(测试机型:华硕S56CM)
- 【Material Design视觉设计语言】UI组件设计(十四):Tabs