现在的位置: 首页 > 综合 > 正文

picketView-点餐-文字

2018年05月26日 ⁄ 综合 ⁄ 共 2262字 ⁄ 字号 评论关闭

#import "CHViewController.h"

@interface CHViewController () <UIPickerViewDataSource,UIPickerViewDelegate>
- (IBAction)random:(UIButton *)sender;
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@property (strong,nonatomic) NSArray *foods;
@property (weak, nonatomic) IBOutlet UILabel *fruitLabel;
@property (weak, nonatomic) IBOutlet UILabel *stapleLabel;
@property (weak, nonatomic) IBOutlet UILabel *drinkLabel;
@end

@implementation CHViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    for (int component = 0; component < self.foods.count; component++) {
        [self pickerView:nil didSelectRow:0 inComponent:component];
    }
}
//懒加载foods
- (NSArray *)foods{
    if(!_foods){
        NSString *path = [[NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil];
        _foods = [NSArray arrayWithContentsOfFile:path];
    }
    return _foods;
}

#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    NSLog(@"%d",self.foods.count);
    return self.foods.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    NSArray *array = self.foods[component];
    return array.count ;
}
#pragma mark - UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    NSArray *nameArray = self.foods[component];
    NSString *name = nameArray[row];
    return name;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    NSString *name = self.foods[component][row];
    switch (component) {
        case 0:
            NSLog(@"水果:%@",name);
            _fruitLabel.text = name;
            break;
        case 1:
            NSLog(@"主菜:%@",name);
            _stapleLabel.text = name;
            break;
        case 2:
            NSLog(@"饮料:%@",name);
            _drinkLabel.text = name;
            break;
        default:
            break;
    }
}

- (IBAction)random:(UIButton *)sender {
//    [self.pickerView selectRow:arc4random()%12 inComponent:0 animated:YES];
//    [self.pickerView selectRow:arc4random()%15 inComponent:1 animated:YES];
//    [self.pickerView selectRow:arc4random()%10 inComponent:2 animated:YES];
    for (int component = 0; component < self.foods.count; component++) {
        NSArray *array = self.foods[component];
        int random = arc4random()%(array.count);
        NSLog(@"random:%d",random);
        [self.pickerView selectRow:random inComponent:component animated:YES];
        [self pickerView:self.pickerView didSelectRow:random inComponent:component];
    }
    
}
@end

可以把点菜的文字换成图片加文字的形式,更直观

   

抱歉!评论已关闭.