изменить изображение программно в соответствии с uiPickerView - PullRequest
0 голосов
/ 19 сентября 2011

Я использую uiPickerView, который имеет изображения вместо строк для выбора, работает нормально для показа изображений, я получил вдохновение из примера Apple UIcatalog о том, как разместить изображения,

Я внедряю его программно без ИБ,

Итак, вопрос в том, как изменить изображение в соответствии с выбранной ячейкой?

у меня есть * MainVC (мой основной вид контроллера) * CustomView (определение размера подборщика) * CustomPickerDataSource (источник данных для средства выбора:)

в CustomPickerDataSource, отправьте данные для выбранной строки

- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component {
// Handle the selection
NSLog(@"seleccionokkkk: %d", row);
[MainVC entro:row];
}

и в моем MainVC

+(void) entro: (int) cuca {

NSLog(@"sumbalo :%d", cuca);
 }

Я получаю количество ячеек, выбранных на моем MainVC, где я хочу показать разные изображения, но при выборе изображения у меня +(void) entro: (int) cuca Я получаю предупреждения, конечно, как я устанавливаю переменные экземпляра с помощью метода класса,

так, как я могу показать изображение в соответствии с тем, какой номер ячейки я получу?

псевдокод: если image == 0, покажите image0

Куда поместить изображение с кодом? И как установить переменную для входящего сообщения?

спасибо большое!

1 Ответ

0 голосов
/ 19 сентября 2011

Я предполагаю, что у вас есть столько изображений, сколько у вас есть предметов в палитре.Поместите их в массив в том же порядке, что и в представлении выбора.Затем возьмите UIImageView, который вы хотите изменить на выбранное изображение, и установите его для изображения в массиве с заданным индексом.

Вы можете сделать это в вашем методе entro: (который должен быть экземпляром).метод, без причины, что это не должно или не может быть), или вы можете просто пойти дальше и сделать это в методе pickerView:didSelectRow:.

Вы можете установить изображения следующим образом:

UIImageView *myImageView;
NSArray *myImageArray;
...

- (void)pickerView:(UIPickerView *)pickerView didSelectRow: 
(NSInteger)row inComponent:(NSInteger)component {
    [myImageView setImage:[myImageArray objectAtIndex:row]];
}
...