UIPickerView是iOS中的原生选择器控件,使用方便,用法简单,效果漂亮。
注意:showsSelectionIndicator选择栏属性在iOS7之后貌似没有任何效果
@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;
@property(nonatomic,assign) id<UIPickerViewDelegate> delegate;
// 设置数据源和代理
@property(nonatomic) BOOL showsSelectionIndicator;
// 是否显示选择框,在iOS7之后这个属性没有任何效果
@property(nonatomic,readonly) NSInteger numberOfComponents;
// 获取分区数
- (NSInteger)numberOfRowsInComponent:(NSInteger)component;
// 获取某一分区的行数
- (CGSize)rowSizeForComponent:(NSInteger)component;
// 获取某一分区行的尺寸
- (UIView *)viewForRow:(NSInteger)row forComponent:(NSInteger)component;
// 获取某一分区某一行的视图
- (void)reloadAllComponents;
// 重载所有分区
- (void)reloadComponent:(NSInteger)component;
// 重载某一分区
- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated;
// 设置选中某一分区某一行
- (NSInteger)selectedRowInComponent:(NSInteger)component;
// 返回某一分区选中的行
// 数据源代理中的方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
// 设置分区数
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
// 根据分区设置行数
// 代理中的方法:
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
// 设置分区宽度
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
// 设置分区行高
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
// 设置某一行显示的标题
- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component;
// 通过属性字符串设置某一行显示的标题
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
// 设置某一行显示的view视图
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
// 选中某一行时执行的回调