UIImageView 没有动画

Posted

技术标签:

【中文标题】UIImageView 没有动画【英文标题】:UIImageView doesn't animate 【发布时间】:2011-04-12 03:33:58 【问题描述】:

我的应用程序中有以下代码,但它没有为 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: 方法中提供文件名,而不是路径。

【讨论】:

@user698952 - 欢迎来到 ***!请考虑更改您的用户名,以便其他用户将您识别为贡献社区的成员。另外,请记住在您的问题和答案中正确地表达句子。拼写和语法计数! :-)【参考方案2】:

确保imageViewhighlighted属性设置为NO,否则上面的代码将不起作用。如果您想为突出显示的图像设置动画,请使用highlightedAnimationImages

【讨论】:

以上是关于UIImageView 没有动画的主要内容,如果未能解决你的问题,请参考以下文章

UIImageView 没有动画

当动画 UIImage 被分配两次时,UITableViewCell 中的 UIImageView 没有动画

iOS UIImageView 没有动画

使用自动布局时 UIImageView 没有动画

使 UIImageview 根据另一个 UIImageview 旋转而旋转

在 UIScrollView 中放大多个 UIImageView