2

我有一堆.png文件,我應該在1.05秒的時間內動畫。動畫執行後,我想最後一個.png文件永久顯示。我正在使用UIIMageview IBOutlet來保存動畫。但是,在動畫執行後,圖像就會消失,而我在屏幕上看不到任何東西。無法在動畫後在UIIMageView上存儲圖像

動畫的代碼如下:

-(void)viewDidAppear:(BOOL)animated 
{ 
[super viewDidAppear:animated]; 

static dispatch_once_t onceToken; 
dispatch_once(&onceToken, ^{ 
    [self loadArrayForTickAnimation]; 
}); 


    if (tickArray) { 
     self.animationView.animationImages = tickArray; 
     self.animationView.animationDuration = 1.05; 
     self.animationView.animationRepeatCount = 1; 
     [self.animationView startAnimating]; 

     [self performSelector:@selector(showFinalImage) withObject:nil afterDelay:1.2]; 
    } 

}

- (void)showFinalImage 
{ 
    [self.animationView setImage:[UIImage imageNamed:@"check_37.png"]]; 
} 

這裏,check_1.png到check_37.png是需要加以動畫文件。我將它們存儲在名爲「tickArray」的數組中,並使用[self loadArrayForTickAnimation]消息填充數組。最後,我必須將animationView的UIIMage設置爲check_37.png

回答

1

修復了它!您需要在動畫開始之前爲imageview設置圖像。所以,我會有

self.animationView.image = [UIImage imageNamed:@"check_37.png"]; 
if (tickArray) { 
    self.animationView.animationImages = tickArray; 
    self.animationView.animationDuration = 1.05; 
    self.animationView.animationRepeatCount = 1; 
    [self.animationView startAnimating]; 
} 

終於使它工作了!