iOS界面编程-UIPickerView

类的介绍

UIPickerView类实现了对象,称为选择器视图,使用一个转轮或老虎机的比喻来显示一个或多个值集。用户通过旋转轮子来选择值,以便将所需的值与一个选择指示器对应。
它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。

相关属性方法

属性:
1.获取UIPickerView组件的数量
@property(nonatomic, readonly) NSInteger numberOfComponents
2.获取某个指定组件的行数
- numberOfRowsInComponent:
3.获取某个指定组件的行的大小。
- rowSizeForComponent:
方法:
1.重新加载所有组件
- reloadAllComponents
2 重新加载某个特定的组件。
- reloadComponent:
3、在picker view指定的一个组件中,选择一行
- selectRow:inComponent:animated:
4、返回指定组件指定行的序列
- selectedRowInComponent:
5、返回给定组件,给定行的视图
- viewForRow:forComponent:
6delegate 属性

7dataSource 属性

8显示选择指示器
showsSelectionIndicator Property

相关例子

-(void)initPickerView{
   UIPickerView *pickView = [[UIPickerView alloc]initWithFrame:CGRectMake(20, 100, self.view.bounds.size.width-40, 100)];
    pickView.delegate = self;
    pickView.dataSource = self;
    [self.view addSubview:pickView];

}

其中UIPickerViewDataSource必须实现的两个代理方法为:
#pragma  remark -UIPickerViewDataSource

// 设置显示列数为多少.这里设置只显示一行
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

// 设置每个组件(列)的行为多少,这里设置都为10行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return 10;
}

#pragma  remark -UIPickerViewDelegate
// 设置每个组件的宽度为多少。
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{
    return 140.0;
}
//设置每个组件行高为多少
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
    return 40.0;
}

- (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return  [NSString stringWithFormat:@"test %ld",(long)row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    NSLog(@"用户选择了第%ld行",(long)row);
}
发布了67 篇原创文章 · 获赞 20 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章