Я занимаюсь разработкой для платформы iphone уже около 3 недель, и я пытаюсь настроить покадровую анимацию с 16 изображениями 1000x1000 png (с прозрачностью) и планирую анимировать примерно с 100 позже, поэтому Сначала я попытался использовать imageNamed для анимации всех изображений, как это
-(IBAction)startClick1:(id)sender
{
cloud.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed: @"g0000.png"],
[UIImage imageNamed: @"g0001.png"],
[UIImage imageNamed: @"g0002.png"],
[UIImage imageNamed: @"g0003.png"],
[UIImage imageNamed: @"g0004.png"],
Теперь это работало нормально в симуляторе, но когда оно доходило до устройства, оно просто перезагружалось при первой попытке анимации, возможно, из-за известных проблем с памятью в imageNamed, поэтому после некоторых исследований я обнаружил, что imageWithContentsOfFile предполагается не кэшировать изображения и, надеюсь, не заставит iphone перезагружаться при запросе анимации, поэтому я изменил свой код на что-то вроде этого:
- (IBAction)startClick:(id)sender
{
gordon.animationImages = [NSArray arrayWithObjects:
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"g0001.png" ofType:nil] ],
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"g0002.png" ofType:nil] ],
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"ge0003.png" ofType:nil] ],
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"g0004.png" ofType:nil] ],
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"g0005.png" ofType:nil] ],
[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"g0006.png" ofType:nil] ],
Теперь он работает с ошибками в симуляторе и не работает на устройстве так же, как метод imageNamed. Итак, каков наилучший и самый простой способ анимировать последовательность изображений, которые будут нормально работать на устройстве? Ох, и при ответе помните, что я новичок в этой платформе.