IOS的UIPickerView 和UIDatePicker

1.UIPickerView的常见属性

1 //数据源(用来告诉UIPickerView有多少列多少行)
2 @property(nonatomic,assign) id<UIPikerViewDataSource> dataSource;
3 //代理(用来告诉UIPickerView每一列的每一行显示什么内容,监听UIPickerView的选择)
4 @property(nonatomic,assign) id<UIPickerViewDelegate> delegate;
5 //是否要显示选中的指示器
6 @property(nonatomic) BOOL  showsSelectionIndicator;
7 //一共有多少列
8 @property(nonatomic,readonly) NSInteger numberOfComponents;

2.UIPickerView的常见方法

1 //重新刷新所有列
2 -(void)reloadAllComponents;
3 //重新刷新第component列
4 -(void)reloadComponent:(NSInteger)component;
5 //主动选中第component列的第row行
6 -(void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL) animated;
7 //获取第component列的当前选中的行号
8 -(NSInteger)selectedRowIncomponent:(NSInteger) component;

3.数据源方法(UIPickerViewDataSource)

//  一共有多少列
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
//  第component列一共有多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;

4.代理方法(UIPickerViewDelegate)

 1 //  第component列的宽度是多少
 2 - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
 3 //  第component列的行高是多少
 4 - (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
 5 
 6 //  第component列第row行显示什么文字
 7 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
 8 
 9 //  第component列第row行显示怎样的view(内容)
10 - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
11 
12 //  选中了pickerView的第component列第row行
13 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

UIDatePicker

1.常见属性

1 // datePicker的显示模式
2 @property (nonatomic) UIDatePickerMode datePickerMode;
3 // 显示的区域语言
4 @property (nonatomic, retain) NSLocale   *locale;

2.监听UIDatePicker的选择

因为UIDatePicker继承自UIControl,所以通过addTarget:..监听

原文地址:https://www.cnblogs.com/developer-wang/p/4534730.html