Ipad анимации изображения сбой проблема - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть приложение, в котором я взял изображение в качестве фона, и в этом изображении я использую 89 изображений для анимации. Вот мой код для анимации

-(void)viewWillAppear:(BOOL)animated
{

NSString *cachesDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];    
NSLog(@"cachesDirectoryPath: %@", cachesDirectoryPath);
    CPIAppDelegate *obj=(CPIAppDelegate *)[[UIApplication sharedApplication]delegate];
    arrayOfImages=[[NSMutableArray alloc]init];

    viewMenu.hidden = obj.buttonStatus;
    for (int i=0; i<IMAGE_ANIMATION_COUNT; i++) {
//  [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/streamvideo351_frame%d.jpg",cachesDirectoryPath,i]];
        [arrayOfImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"streamvideo351_frame%d.jpg",i]]];

    }

    BackGrdImage.animationImages=arrayOfImages;
    BackGrdImage.animationDuration =5.0; 
    BackGrdImage.animationRepeatCount =3;
    [BackGrdImage startAnimating];
    [arrayOfImages removeAllObjects];

}

и в методе dealloc я использую

[imageAnimations release];
[BackGrdImage removeFromSuperview];
[BackGrdImage release];

он отлично работает на симуляторе, но вылетает на Ipad. То, что на самом деле происходит в ipad, иногда мигает, а иногда исчезает. Так что, пожалуйста, помогите мне с этими друзьями. Пожалуйста, друзья, помогите мне с этим. Любая помощь или предложение будут оценены.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2011

Может быть, вы получаете предупреждение памяти.Потому что я не думаю, что устройство будет поддерживать массив изображений из 89 изображений / изображений.Попробуйте отладить ваше приложение на устройстве.

0 голосов
/ 27 апреля 2011

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

[arrayOfImages removeAllObjects];

и

BackGrdImage.animationRepeatCount = 3;

из-за этого ваше изображение анимируется во второй раз, но BackGrdImage не получает arrayOfImages для анимации, поэтому ваше приложение падает.

Есть один способ, когда анимация вашего изображения три раза означает в течение 1,5 секунды, затем после того, как вам нужно вызвать один метод для освобождения вашего arrayOfImages. Вышеописанный процесс обязательно сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...