Отображение индексированных png-файлов из NSArray на экране 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 с индексом «счетчик» и сделать его видимым на моем экране iphone с помощью .... addSubview :zahlenEinsBisNeun ...

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

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

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


person Thomas Hülsmann    schedule 27.03.2010    source источник


Ответы (3)


в первую очередь вместо 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];

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

person Mihir Mehta    schedule 27.03.2010

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

[zahlenArray objectAtIndex:counter]

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

person djhworld    schedule 27.03.2010

Я не уверен, что понимаю вашу проблему, но я думаю, что вы должны добавить только один UIImageView в подвид и изменить поле IMAGE из UIImageView

[self.view addSubview:zahlenEinsBisNeun];

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

zahlenEinsBisNeun.image = [zahlenArray objectAtIndex:counter]

С уважением,

person Sergey Kopanev    schedule 13.06.2010