//
// CustomPickerView.m
// Test
//
// Created by Apple on 2020/7/8.
// Copyright © 2020 网游二部一体机. All rights reserved.
//
#import "CustomPickerView.h"
@interface CustomPickerView ()<UIPickerViewDataSource,UIPickerViewDelegate>
@property (nonatomic,strong)UIPickerView *pickerView;
@property (nonatomic,strong)NSMutableArray<NSArray<NSArray *> *> *datas;
@property (nonatomic,assign)NSInteger currentIndex;
@end
@implementation CustomPickerView
-(NSMutableArray *)datas {
if (!_datas) {
_datas = [NSMutableArray arrayWithCapacity:2];
}
return _datas;
}
-(instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setUI];
}
return self;
}
-(void)setUI {
NSArray *array = @[@"1'",@"2'"];
NSArray *array2 = @[@"1\"",@"2\""];
NSArray *array3 = @[@"英寸",@"厘米"];
[self.datas addObject:@[array,array2,array3]];
NSArray *array4 = @[@"100",@"200"];
NSArray *array5 = @[@"英寸",@"厘米"];
[self.datas addObject:@[array4,array5]];
self.currentIndex = 0;
self.pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 200)];
self.pickerView.dataSource = self;
self.pickerView.delegate = self;
[self addSubview:self.pickerView];
}
#pragma mark - UIPickerViewDataSource
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return self.datas[_currentIndex].count;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return self.datas[_currentIndex][component].count;
}
//列显示的数据
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger) row forComponent:(NSInteger)component {
NSString *title = self.datas[_currentIndex][component][row];
return title;
}
#pragma mark - UIPickerViewDelegate
// 选中某一组的某一行
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (_currentIndex ==0) {
if (component == 2 && row == 1) {//选中厘米 刷新数据
_currentIndex = 1;
[pickerView reloadAllComponents];
[pickerView selectRow:1 inComponent:1 animated:NO];
}
}else {
if (component == 1 && row == 0) {//选中英寸 刷新数据
_currentIndex = 0;
[pickerView reloadAllComponents];
[pickerView selectRow:0 inComponent:2 animated:NO];
}
}
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end