2011-08-02 85 views
0

這裏是我的代碼:問題animationImages陣列

-(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型結構的UIImageView *「預期結構的UIImage *」從不同目標C型

回答

0

傳遞參數1時initWithImage的。如果你正在做的:

image.animationImages = [NSArray arrayWithObjects: 

然後imageUIImageView(查看代碼,其中你分配它)。這就是爲什麼你會得到錯誤的原因,因爲initWithImage預計類型的UIImage的對象:

- (id)initWithImage:(UIImage *)image 

要麼你不是故意image是一個圖像視圖,或者可能你並不需要分配第二的UIImageView在你的方法,可以只使用image

2

您可以將動畫圖像設置爲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

是的,但我想要的是,動畫完成後,imageView是「mangeurcentremieu3_03.png。 –

+0

你可以像我剛剛提到的那樣做,在15秒後(1.5秒動畫的10倍),動畫將會結束並且imageview將具有「mangeurcentremieu3_03.png」圖像 – Ilanchezhian

+0

15秒後沒有圖像 –

0

確保image是一個UIImageView,而不是一個UIImage。您只能爲UIImageView創建animationImages。