проблема с массивом animationImages - PullRequest
0 голосов
/ 02 августа 2011

вот мой код:

-(void) createNewImage {

image.animationImages = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"oeufgrisé.png"],
                         [UIImage imageNamed:@"abouffer_03.png"],
                         [UIImage imageNamed:@"boutonplay_03.png"],
                         [UIImage imageNamed:@"boutonpause_03.png"],
                         [UIImage imageNamed:@"abouffer_05.png"],
                         [UIImage imageNamed:@"mangeurcentremieu3_03.png"],nil];
[image setAnimationRepeatCount:10];
image.animationDuration =1.5;
[image startAnimating];      

imageView = [[UIImageView alloc] initWithImage:image];

}

Этот код не работает, я не знаю почему.У меня всегда есть это предупреждение в строке "imageView = [[UIImageView alloc] initWithImage: image];": Несовместимый тип ObjectiveC struct UIImageView * 'ожидаемая структура UIImage *' при передаче аргумента 1 initWithImage из другого типа Objective C

Ответы [ 3 ]

2 голосов
/ 02 августа 2011

Вы можете установить анимационные изображения для UIImageView, а не для UIImage.

-(void) createNewImage {
    imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,460)];

    imageView.animationImages = [NSArray arrayWithObjects:
                             [UIImage imageNamed:@"oeufgrisé.png"],
                             [UIImage imageNamed:@"abouffer_03.png"],
                             [UIImage imageNamed:@"boutonplay_03.png"],
                             [UIImage imageNamed:@"boutonpause_03.png"],
                             [UIImage imageNamed:@"abouffer_05.png"],
                             [UIImage imageNamed:@"mangeurcentremieu3_03.png"],nil];
    [imageView setAnimationRepeatCount:10];
    imageView.animationDuration =1.5;
    [imageView startAnimating]; 
    [NSTimer scheduledTimerWithTimeInterval:15.0 target:self selector:@selector(setLastImage:) userInfo:nil repeats:NO];

 }

-(void)setLastImage:(id)obj
{
    [imageView performSelectorOnMainThread:@selector(setImage:) withObject:[UIImage imageNamed:@"mangeurcentremieu3_03.png"] waitUntilDone:YES];
}
0 голосов
/ 03 апреля 2015

Убедитесь, что image является UIImageView, а не UIImage. Вы можете создавать animationImages только для UIImageViews.

0 голосов
/ 02 августа 2011

Если вы делаете:

image.animationImages = [NSArray arrayWithObjects:

, тогда image - это UIImageView (просмотрите код, в котором вы его разместили). По этой причине вы получаете ошибку, поскольку initWithImage ожидает объект типа UIImage:

- (id)initWithImage:(UIImage *)image

Либо вы не имели в виду image как представление изображения, либо, возможно, вам не нужно выделять второй UIImageView в вашем методе, и вы можете просто использовать image.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...