Отображение проиндексированных png-файлов из NSArray на экране iphone - PullRequest
0 голосов
/ 27 марта 2010

Мне нравится создавать счетчик иллюстраций на iphone, отображая от 0 до 9. 10 цифр - это 10 png-файлов с номерами от 0 до 9 в качестве содержания для иллюстрации. 10 png-файлов реализованы с использованием NSArray. Ниже вы найдете код реализации:

zahlenArray = [NSArray arrayWithObjects:
           [UIImage imageNamed:@"ziffer-0.png"],
           [UIImage imageNamed:@"ziffer-1.png"],
           [UIImage imageNamed:@"ziffer-2.png"],
           [UIImage imageNamed:@"ziffer-3.png"],
           [UIImage imageNamed:@"ziffer-4.png"],
           [UIImage imageNamed:@"ziffer-5.png"],
           [UIImage imageNamed:@"ziffer-6.png"],
           [UIImage imageNamed:@"ziffer-7.png"],
           [UIImage imageNamed:@"ziffer-8.png"],
           [UIImage imageNamed:@"ziffer-9.png"],               
           nil];

В качестве индекса для 10 цифр я использую целочисленную переменную, инициализирующуюся 0:

int counter = 0;

Кроме того, я объявляю UIImageview программно:

UIImageView *zahlenEinsBisNeun;

Код реализации для UIImageview:

zahlenEinsBisNeun = [UIImage alloc] initWithFrame:CGRectMake(240, 50, 200, 200)];

????????????????????????????????????????

[self.view addSubview:zahlenEinsBisNeun];
[zahlenEinsBisNeun release];

Там, где вы видите вопросительные знаки, я не знаю, как написать код, чтобы получить мои контентные работы 0–9 из NSArray с индексом «counter» и сделать его видимым на экране iphone с помощью .. .. addSubview: zahlenEinsBisNeun ...

Кто-нибудь может помочь ???

Спасибо за вашу поддержку заранее

Томас Хюльсманн

Ответы [ 3 ]

1 голос
/ 27 марта 2010

прежде всего вместо zahlenEinsBisNeun = [UIImage alloc] initWithFrame:CGRectMake(240, 50, 200, 200)]; написать

zahlenEinsBisNeun = [UIImageView alloc] initWithFrame:CGRectMake(240, 50, 200, 200)];

тогда

for(int i = 0; i < 10 ; i++)
{
      UIImage *tempImage = [zahlenArray objectAtIndex:i];
      [zahlenEinsBisNeun addSubview:tempImage];
}
[self.view addSubview:zahlenEinsBisNeun];
[zahlenEinsBisNeun release];

вам нужно настроить кадр каждого изображения до этого ...

0 голосов
/ 13 июня 2010

Я не уверен, что понимаю вашу проблему, но я думаю, что вы должны добавить только один UIImageView для подпредставления и изменить поле ИЗОБРАЖЕНИЯ из UIImageView

[self.view addSubview:zahlenEinsBisNeun];

и в таймере или в любом потоке (в другой функции) если вы хотите изменить изображения в этом изображении, просмотрите:

zahlenEinsBisNeun.image = [zahlenArray objectAtIndex:counter]

regards,

0 голосов
/ 27 марта 2010

Я не знаком со свойствами iPhone SDK / изображения, но наверняка вы просто

[zahlenArray objectAtIndex:counter]

чтобы вернуть изображение интерфейса, которое вы хотите?

...