Пользовательский вид выбора с изображениями - PullRequest
0 голосов
/ 09 февраля 2012

Я узнал, как использовать виды выбора, одиночные и парные.Я хотел бы узнать, как сделать вид выбора с изображениями.Вместо цифр или слов у свитка есть разные изображения, чтобы выбрать одно.Благодарю.Я думаю, что использует этот код, но он запустил меня, я не могу найти ошибку.Спасибо за вашу помощь.

 @synthesize picker, Array, image;



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


- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component;
{   
         return [self.Array count];

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

 return [self.Array objectAtIndex:row];

 }

- (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:    (NSInteger)component reusingView:(UIView *)view
{
    NSString *img_src = [NSString stringWithFormat:@"6-12AM.png", row];

     UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:img_src]];

    return image;

}

1 Ответ

2 голосов
/ 09 февраля 2012

РЕДАКТИРОВАТЬ: я перепутал функцию, которую вы должны реализовать в моем первоначальном ответе. Извините за это.

Вам необходимо реализовать

- (UIView *) pickerView: (UIPickerView *) pickerView viewForRow: (NSInteger) строка forComponent: (NSInteger) повторное использование компонента ViewView: (UIView *) представление

метод вашего делегата UIPickerView для возврата UIImageView для данной строки.

Справочная страница здесь.

например (очень тупая реализация без повторного использования представлений)

- (UIView *) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
NSString * img_src = [NSString stringWithFormat:@"image_%d.png", row];

UIImageView * retval = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:img_src]] autorelease];

return retval;
}

при условии, что в ваших ресурсах есть изображения с именем image_ [num] .png.

...