Добавление изображения в слой - PullRequest
0 голосов
/ 18 августа 2010

Я уверен, что это просто, но я пытаюсь добавить массив изображений в слой.Вот что у меня есть:

// Create the fish layer
 fishLayer = [CALayer layer];
 //fish  = [UIImageView imageNamed:@"Fish.png"];

 fish.animationImages = [NSArray arrayWithObjects:
        [UIImage imageNamed:@"swim01.png"],
        [UIImage imageNamed:@"swim02.png"],
        [UIImage imageNamed:@"swim03.png"],
        [UIImage imageNamed:@"swim04.png"],
        [UIImage imageNamed:@"swim05.png"],
        [UIImage imageNamed:@"swim06.png"],
        [UIImage imageNamed:@"swim05.png"],
        [UIImage imageNamed:@"swim04.png"],
        [UIImage imageNamed:@"swim03.png"],
        [UIImage imageNamed:@"swim02.png"], nil];

 fish.animationDuration = 1.50;
 fish.animationRepeatCount = -1;
 [fish startAnimating];


 //[self.view addSubview:fish];
 //This should add the animated array to layer.
 fishLayer.contents = fish;

 fishLayer.bounds = CGRectMake(0, 0, 56, 56);
 fishLayer.position = CGPointMake(self.view.bounds.size.height / 2,
         self.view.bounds.size.width / 2);

[self.view.layer addSublayer:fishLayer];

Нет ошибки, но массив изображений не появляется на экране.Я думаю, что, возможно, эта строка является пробой ..

fishLayer.contents = fish;

Я добавил изображение к моим заголовочным файлам и добавил его в XIB

.1010 * Приветствия,

Адам

1 Ответ

0 голосов
/ 18 августа 2010

Читая ваш код, похоже, вы не инициализируете рыбу. Поскольку вы не получаете никаких ошибок, я предполагаю, что это переменная экземпляра, что означает, что изначально она установлена ​​в nil Поэтому, когда вы устанавливаете fish.animationImages, вы по сути ничего не делаете (fish - ноль). То же самое с любым другим использованием рыбы в этом фрагменте кода.

Похоже, вы изначально использовали представления, но потом все это закомментировали. Почему вы пытаетесь использовать слой? Вы должны быть в состоянии сделать это:

fish = [UIImageView imageNamed:@"Fish.png"];

fish.animationImages = [NSArray arrayWithObjects:
        [UIImage imageNamed:@"swim01.png"],
        [UIImage imageNamed:@"swim02.png"],
        [UIImage imageNamed:@"swim03.png"],
        [UIImage imageNamed:@"swim04.png"],
        [UIImage imageNamed:@"swim05.png"],
        [UIImage imageNamed:@"swim06.png"],
        [UIImage imageNamed:@"swim05.png"],
        [UIImage imageNamed:@"swim04.png"],
        [UIImage imageNamed:@"swim03.png"],
        [UIImage imageNamed:@"swim02.png"], nil];

fish.animationDuration = 1.50;
fish.animationRepeatCount = -1;
[fish startAnimating];

[self.view addSubview:fish];

fish.bounds = CGRectMake(0, 0, 56, 56);
fish.position = CGPointMake(self.view.bounds.size.height / 2,
         self.view.bounds.size.width / 2);
...