UIImageView не анимируется

#iphone #animation #uitableview #uiimageview

#iPhone #Анимация #uitableview #uiimageview

Вопрос:

У меня есть следующий код внутри моего приложения, но он не анимирует UIImageView, кто-нибудь может сказать мне, почему?

     UITableViewCell* cell = [selectedTable cellForRowAtIndexPath:selectedPath];

    NSArray* myImageArray = [NSArray arrayWithObjects:
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked117x11" ofType:@"png"]],
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked217x11" ofType:@"png"]],
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked317x11" ofType:@"png"]],
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked417x11" ofType:@"png"]],
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked517x11" ofType:@"png"]],
                             [UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"boxBeingChecked617x11" ofType:@"png"]],
                             nil];


    cell.imageView.animationImages = myImageArray;
    cell.imageView.animationDuration = 4.20;
    cell.imageView.animationRepeatCount = 1;
    [cell.imageView startAnimating];
    [NSTimer scheduledTimerWithTimeInterval:4.0
                                     target:self
                                   selector:@selector(methodToInvokeAfterAnimationIsDone)
                                   userInfo:nil
                                    repeats:NO];
  

Ответ №1:

Вы должны использовать это:

 NSArray* myImageArray = [NSArray arrayWithObjects:
                             [UIImage imageNamed:@"boxBeingChecked117x11.png"]],
                             [UIImage imageNamed:@"boxBeingChecked217x11.png"]],
                             [UIImage imageNamed:@"boxBeingChecked317x11.png"]],
                             [UIImage imageNamed:@"boxBeingChecked417x11.png"]],
                             [UIImage imageNamed:@"boxBeingChecked517x11.png"]],
                             [UIImage imageNamed:@"boxBeingChecked617x11.png"]],
                             nil];
  

Вам нужно указать имя файла, а не путь, в imageNamed : методе.

Комментарии:

1. @user698952 — Добро пожаловать в StackOverflow! Пожалуйста, рассмотрите возможность изменения вашего имени пользователя, чтобы другие пользователи узнали вас как участника сообщества. Кроме того, не забывайте правильно формулировать предложения в своих вопросах и ответах. Правописание и грамматика учитываются! 🙂

Ответ №2:

Убедитесь, что для свойства imageView ‘s highlighted установлено значение NO , иначе приведенный выше код работать не будет. Если вы хотите анимировать выделенные изображения, используйте highlightedAnimationImages .