OStack程序员社区-中国程序员成长平台

标题: ios - 具有多个animationDuration iOS的图像序列动画 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 05:45
标题: ios - 具有多个animationDuration iOS的图像序列动画

我可以使用 animationImagesstartAnimating 属性从 UIImaheView 的数组中加载一些 UIImage修复了 animationDuration

像这样:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.imageNamesArray = [[NSMutableArray alloc] initWithObjects"0001.png", @"0002.png", @"0003.png", @"0004.png", @"0005.png", @"0006.png", @"0007.png", @"0008.png", @"0009.png", @"0010.png", @"0011.png", @"0012.png", @"0013.png", @"0014.png", @"0015.png", @"0016.png", @"0017.png", @"0018.png", @"0019.png", @"0020.png", nil];


    self.imageArray = [[NSMutableArray alloc] init];

    for (int i = 0; i < [imageNamesArray count]; i++)
    {
        [imageArray addObject:[UIImage imageNamed:[imageNamesArray objectAtIndex:i]]];
    }

    self.imageView.animationImages = imageArray;
    self.imageView.animationDuration = 0.04;
    self.imageView.animationRepeatCount = 0;
    [imageView startAnimating];
}

但是,我想将那些 UIImage 加载到具有不同 animationDuration 的相同 UIImageView 中。让我解释一下我的意思。我有一个名为 imageNamesArray 的数组,其中包含 20 个不同的图像名称。现在,我想要一个包含 20 个不同持续时间的另一个数组。

self.durationArray = [[NSMutableArray alloc] initWithObjects"0.5", @"0.4",  @"0.4",  @"0.5",  @"0.4",  @"0.9",  @"0.4",  @"0.4",  @"0.4",  @"0.4",  @"0.4",  @"0.4",  @"0.4",  @"0.6",  @"0.4",  @"0.4",  @"0.8",  @"0.4",  @"0.4",  @"0.3",  @"0.4", nil];

我想根据 durationArray 的持续时间在该 UIImageView 中显示该 imageArray 中的每个图像。我该如何实现。我可以使用 NSTimer 来完成这项工作吗?如果有解决方案请与我分享。非常感谢。



Best Answer-推荐答案


试试这段代码,我刚刚写的,如果有错误请告诉我。

-(void)refreshTimer
{
    self.imageView.image = [UIImage imageNamed:[self.imageNamesArray objectAtIndex:count]];
    [self performSelectorselector(refreshTimer) withObject:nil afterDelay:[[self.durationArray objectAtIndex:count] doubleValue]];
    count++;
}

这里的count是一个int。从您的 Viewdidload 调用此方法一次

[self refreshTimer];

关于ios - 具有多个animationDuration iOS的图像序列动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956562/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4