使用UIPickerView在UIImageView中select显示不同的图像
我有一个UIPickerView填充了一个树型数组。 我也有一个空的UIImageView下面,我想改变select视图的select。 我得到了一个标签来改变select,但不能让图像改变。 这是我迄今为止
编辑 编辑 :现在工作! 正确的代码在下面
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. dataArray = [[NSArray alloc]initWithObjects:@"Birch", @"Elm", @"Maple", @"Oak", @"White Pine",@"Willow", nil]; myPicker.delegate = self; imageArray = [[NSArray alloc]initWithObjects:@"birch_river.png",@"elm_american.png",@"maple_bigtooth.png", @"oak_bur.png", @"white_pine.png", @"oak_willow.png", nil]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 1; } -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { return [dataArray count]; } -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { myLabel.text = [dataArray objectAtIndex:row]; myImage.image = [UIImage imageNamed:[imageArray objectAtIndex:row]]; } -(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent: (NSInteger)component { return [dataArray objectAtIndex:row]; } @end
你可以做的是,有一个数组填充图像名称(例如:IMAGES_ARRAY与图像名称)。
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component { myLabel.text = [dataArray objectAtIndex:row]; YOUR_IMG_VIEW = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[IMAGES_ARRAY ObjectAtIndex.row]]]; }