2013-04-02 17 views
2

У меня есть набор изображений, обращенных в одну сторону (человек стоит справа), и я переворачиваю его с помощью этого метода, а затем добавляю его в анимацию изображений uiimageview. Однако после добавления в перевернутые изображения, а затем начать анимацию, анимация по-прежнему стоит на правой стороне.В начале анимации UIImageView нет анимации перевернутых изображений

manRunAnimations = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; 
NSArray *manAniRunArray = @[[UIImage imageNamed:@"robot1"], 
          [UIImage imageNamed:@"robot2"], 
          [UIImage imageNamed:@"robot3"], 
          [UIImage imageNamed:@"robot4"], 
          [UIImage imageNamed:@"robot5"], 
          [UIImage imageNamed:@"robot6"], 
          ]; 


manRunAnimationsf = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)]; 

NSMutableArray *flippedRunAnimationImages = [[NSMutableArray alloc] init]; 

for(UIImage *image in manAniRunArray) 
{ 
    UIImage * flippedImage = [UIImage imageWithCGImage:image.CGImage scale:image.scale orientation:UIImageOrientationRightMirrored]; 
    [flippedRunAnimationImages addObject:flippedImage]; 
} 

manRunAnimationsf.animationImages = (NSArray *)flippedRunAnimationImages; 

testImgView.image = [manRunAnimationsf.animationImages objectAtIndex:0]; 
manRunAnimationsf.animationDuration = runAnimationSpeedSlider.value; 
[manRunAnimationsf startAnimating]; 

Я даже проверил его с помощью

testImgView.image = [manRunAnimationsf.animationImages objectAtIndex:5]; 

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

[manRunAnimationsf startAnimating]; 

Как только он начинает, анимации вообще не перевернуты !!

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

+0

Вы, ребята, так или иначе связаны с кэшированным изображением с помощью метода imageNamed? – mskw

ответ

2

Я не могу поверить, что никто не знает, почему, но я нашел путь вокруг него. Является ли добавить следующее, прежде чем я startAnimating:

manRunAnimationsf.transform = CGAffineTransformMake(-1,0,0,1,0,0); 

Я даже не нужно делать CGImage переворачивается в том, что для цикла.

Но ручное изображение флип должно работать с методом imageWithCGImage, и я действительно хочу знать, почему! Вы меня разочаровываете. : p

+0

Кто-нибудь с проницательными комментариями? – mskw

+0

Я страдаю той же дилеммой, с которой я не могу ответить – tGilani

+0

Проверьте мой ответ. – mskw

Смежные вопросы