先看一下UIPickerView样式:
整体结构可以分为有几列columns数据,每列有多少行rows数据。如果是显示1列以上的情况,数据结构为1个数组+这个数组中有N个子数组的结构。
和Tableview一样,使用UIPickerView需要遵守该控件的代理协议:
<UIPickerViewDelegate>和<UIPickerViewDataSource>
具体方法代码如下:
#pragma mark - pickerview delegate、datasource
// returns the number of 'columns' to display.返回有多少个columns
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return self.dataArray.count;
}
// returns the # of rows in each component.在component返回有多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
NSArray *arr = self.dataArray[component];
return arr.count;
}
// 返回pickerview component中row行的显示数据
- (nullable NSString *)pickerView:(UIPickerView *)