@interfaceViewController ()<UIPickerViewDelegate,UIPickerViewDataSource>
@property (weak,nonatomic) IBOutletUIPickerView *pickerView;
@property (weak,nonatomic) IBOutletUILabel *fruitLabel;
@property (weak,nonatomic) IBOutletUILabel *menuLabel;
@property (weak,nonatomic) IBOutletUILabel *foodLabel;
@property(nonatomic,strong) NSArray *oneArray;
@property(nonatomic,strong) NSArray *twoArray;
@property(nonatomic,strong) NSArray *threeArray;
@property(nonatomic,strong) NSArray *allArray;
@end
@implementation ViewController
- (void)viewDidLoad
{
[superviewDidLoad];
_oneArray=@[@"榴莲",@"樱桃",@"西瓜",@"草莓",@"山竹",@"枇杷",@"西红柿",@"葡萄",@"苹果"];
_twoArray=@[@"锅包肉",@"干煸豆角",@"水煮肉片",@"大腰子",@"可乐鸡翅",@"打卤馕",@"地三鲜",@"烧茄子",@"红烧肉",@"拔丝地瓜"];
_threeArray=@[@"馒头",@"豆包",@"花卷",@"面",@"油条",@"麻团"];
_allArray=@[_oneArray,_twoArray,_threeArray];
for (int i=0; i<self.allArray.count; i++)
{
[selfpickerView:self.pickerViewdidSelectRow:0inComponent:i];
}
}
//点击随机按钮时执行
- (IBAction)buttonClicked:(id)sender
{
for (int i=0; i<self.allArray.count; i++)
{
NSArray *subArray =self.allArray[i];
NSInteger oldIndex = [self.pickerViewselectedRowInComponent:i];
NSInteger newIndex =arc4random() % subArray.count;
//不想让每次随机产生的值相同
while(newIndex == oldIndex)
{
newIndex =arc4random() % subArray.count;
}
//给pickerView随机改变值
[self.pickerViewselectRow:newIndex inComponent:ianimated:YES];
//给相应label赋值
[selfpickerView:self.pickerViewdidSelectRow:newIndex inComponent:i];
}
}
#pragma mark - UIPickerViewDataSource
//一共多少列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
returnself.allArray.count;
}
//第component列显示多少行
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray *subArray =self.allArray[component];
return subArray.count;
}
//第component列每行显示什么
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSArray *subArray =self.allArray[component];
return subArray[row];
}
//用第component列第row行的值去更新label值
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (component ==0)
{
self.fruitLabel.text =self.oneArray[row];
}
elseif (component == 1)
{
self.menuLabel.text =self.twoArray[row];
}
else
{
self.foodLabel.text =self.threeArray[row];
}
}
@end