1

I'm developing my first iOS App and I'm stuck, I've searched a lot but I couldn't find any solution.

I've a UIPickerView with two components (Picker1 with 5 array objects and Picker2 with 2) and a UIImageView and I need to set a different image according the data selected on the two picker's.

Ex:

    Picker1 - A and Picker2 - A | Image - AA
    Picker1 - B and Picker2 - A | Image - BA
    Picker1 - A and Picker2 - B | Image - AB
    Picker1 - B and Picker2 - B | Image - BB
    ...

Here's my code:

#define MOVEIS 0
#define CORES 1

- (void)viewDidLoad
{
    [super viewDidLoad];

    ContainerPickerView.frame = CGRectMake(0, 390, 320, 207);
    ContainerPickerView.backgroundColor = [UIColor whiteColor];

    CatalogoPicker.showsSelectionIndicator = TRUE;

    self.CoresMoveis=[[NSArray alloc] initWithObjects:@"Preto",@"Vermelho",@"Castanho",@"Cinzento",@"Branco", nil];

    self.CoresChao=[[NSArray alloc] initWithObjects:@"Escuro", @"Claro", nil];

}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    if (component == MOVEIS) {
        return [CoresMoveis count];
    }
    if (component == CORES) {
        return [CoresChao count];
    }
    return 0;
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 2;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{

    if (component == MOVEIS) {
        return [CoresMoveis objectAtIndex:row];
    }
    if (component == CORES) {
        return [CoresChao objectAtIndex:row];
    }
    return 0;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

    if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Preto"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_preto_chao_escuro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Vermelho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_vermelho_chao_escuro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Castanho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_castanho_chao_escuro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Cinzento"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_cinzento_chao_escuro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Branco"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_branco_chao_escuro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Vermelho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Claro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_vermelho_chao_claro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Castanho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Claro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_castanho_chao_claro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Cinzento"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Claro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_cinzento_chao_claro.jpg"];

    }
    else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"Branco"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqual: @"Claro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_branco_chao_claro.jpg"];
    }
}
MADPT
  • 97
  • 2
  • 12

1 Answers1

1

Instead of

isEqual:@"Preto"

use:

isEqualToString:@"Preto"

so it will be like this:

if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Preto"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Escuro"]) {

        _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_preto_chao_escuro.jpg"];

    }
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Vermelho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Escuro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_vermelho_chao_escuro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Castanho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Escuro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_castanho_chao_escuro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Cinzento"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isisEqualToString: @"Escuro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_cinzento_chao_escuro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Branco"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Escuro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_branco_chao_escuro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Vermelho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Claro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_vermelho_chao_claro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Castanho"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Claro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_castanho_chao_claro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Cinzento"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Claro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_cinzento_chao_claro.jpg"];

}
else if ([[CoresMoveis objectAtIndex:[pickerView selectedRowInComponent:0]] isEqualToString: @"Branco"] || [[CoresChao objectAtIndex:[pickerView selectedRowInComponent:1]] isEqualToString: @"Claro"]) {

    _ImageView_Catalogo.image = [UIImage imageNamed:@"movel_branco_chao_claro.jpg"];
}

Hope this works! Good luck!

Abdullah Shafique
  • 6,878
  • 8
  • 35
  • 70