2013-10-06 7 views
0

У меня есть UIImageView, который я пытаюсь сделать для анимации набора UIImages, которые создаются, переворачивая другие UIImages. Вот мой код:UIImageView не будет анимировать с UIImages CGImage

turtle = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width-200, 
                    self.view.frame.size.height - sand.frame.size.height - turtle.frame.size.height - 10 - heightOfKeyboard, 
                    100,100)]; 
[flippedTurtleArray addObject:[UIImage imageWithCGImage:[UIImage imageNamed:@"Turtle1.png"].CGImage scale:1 orientation:UIImageOrientationDownMirrored]]; 
[flippedTurtleArray addObject:[UIImage imageWithCGImage:[UIImage imageNamed:@"Turtle2.png"].CGImage scale:1 orientation:UIImageOrientationDownMirrored]]; 
[flippedTurtleArray addObject:[UIImage imageWithCGImage:[UIImage imageNamed:@"Turtle3.png"].CGImage scale:1 orientation:UIImageOrientationDownMirrored]]; 
[flippedTurtleArray addObject:[UIImage imageWithCGImage:[UIImage imageNamed:@"Turtle2.png"].CGImage scale:1 orientation:UIImageOrientationDownMirrored]]; 
[self.view addSubview: turtle]; 

Проблема заключается в том, когда я пытаюсь сделать анимацию из массива перевернутых изображений, он показывает оригиналы, а не перестроенные из них (то есть, когда я делаю это):

turtle.animationImages = flippedTurtleArray; 
turtle.animationDuration = 0.8f; 
turtle.animationRepeatCount = 0; 
[turtle startAnimating]; 

показаны оригинальные не переворачиваемые изображения.

Теперь, если я делаю это, однако:

turtle.image = [flippedTurtleArray objectAtIndex:1]; 

перевернутый изображение показано на рисунке. Я думал, что вы не можете сделать анимацию с CGImage, но не могли найти, что у кого-то еще была такая же проблема. Есть идеи?

Спасибо,

Сэм

ответ

0

Я хотел бы посмотреть на собственность CGLayer, и в частности, свойство слоя преобразования.

Свойство Transform является анимированным и позволит вам применить произвольное преобразование к исходному изображению без необходимости управлять промежуточным черепаховым массивом.

Преобразование, применяемое к содержимому слоя. Animatable.

@property Преобразование CATransform3D Обсуждение По умолчанию для этого свойства установлено преобразование идентичности. Любые преобразования, которые вы применяете к слою, происходят относительно привязки точки слоя.

Доступность Доступно в iOS 2.0 и новее. Связанные Пример кода oalTouch Объявлен в CALayer.h

Если у вас есть другие причины для массива, то вы можете оказать переворачивается изображение в виде отдельного изображения, и передать в массиве.

Аналогично, если вы можете использовать iOS 7 в качестве цели, взгляните на SpriteKit, это может сделать всю задачу намного проще.

+0

Привет - как я мог бы сделать перевернутое изображение в отдельное изображение? Я не понимаю, как это сделать? –

+0

Ah ok - получил это - я меняю метод и только что узнал, как перевернуть фактические данные изображения, а не флаг. Спасибо, в любом случае. –

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