UIPickView相关

使用UIPickView,需要用到UIPickerViewDataSource和UIPickerViewDelegate

UIPickerViewDataSource中必须实现的方法

@protocol UIPickerViewDataSource<NSObject>
@required

// 返回包含多少列
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;

// 返回每一列返回多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
@end

UIPickerViewDelegate中选择实现的方法

@protocol UIPickerViewDelegate<NSObject>
@optional

// 设置列的宽度 
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;

// 设置行的高度
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;

// 每列每行展示什么内容 
- (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;

// 每列每行展示什么内容,带有属性的字符串
- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component; 

// 以UIView控件填充每一列每一行
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(nullable UIView *)view ;

// 当选择器选项发生改变会调用如下方法
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

@end

results matching ""

    No results matching ""