Использование анимированного UIImageView в качестве наложения камеры iPhone - PullRequest
0 голосов
/ 27 февраля 2010

Как видно из названия, в iPhone SDK я хочу создать анимированный UIImageView и использовать его в качестве наложения камеры. Однако ничего не появляется. Я использовал ту же настройку для отображения статического изображения в качестве наложения, но при попытке использовать следующий код наложение не отображается:

imageView.animationImages = [NSArray arrayWithObjects:
                                     [UIImage imageNamed:@"cameraScreenOverlay1.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay2.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay3.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay4.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay4.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay4.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay3.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay2.png"],
                                     [UIImage imageNamed:@"cameraScreenOverlay1.png"],
                                     nil];
        imageView.animationDuration = 1.0;
        imageView.animationRepeatCount = 0;
        [imageView startAnimating];

Я знаю, что приведенный выше код работает, когда imageView не используется в качестве наложения. Какие-нибудь мысли? Это всего лишь ограничение текущего SDK?

1 Ответ

1 голос
/ 27 августа 2010

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

Я неправильно загружал png с помощью imageWithContentsOfFile. Это не будет загружать изображение, это просто файл изображения. Ему нужен реальный путь. Попробуйте что-то вроде этого:

   NSArray *animationImages = [NSArray arrayWithObjects:
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back1" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back2" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back3" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back4" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back5" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back6" ofType:@"png"]],
                                [UIImage imageWithContentsOfFile:[[ NSBundle mainBundle] pathForResource:@"back7" ofType:@"png"]],nil];


    imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,480)];
    imageview.animationImages = [animationImages retain] ;
    imageview.animationRepeatCount = 0;
    imageview.animationDuration= 1;

    [overlay.view addSubview:imageview]; 

    [moviePlayerWindow addSubview:overlay.view]; 
...