帧之间的UIImageView动画延迟?

时间:2012-01-11 19:38:06

标签: iphone xcode ipad animation uiimageview

我正在尝试使用带有数组的UIImageView创建动画(如果是图像)。它工作得很好,除了我需要在一些帧之间有不同的延迟。在动画gif中,您可以设置帧之间的延迟。我看到的动画UIImageView的每个例子在图像之间都有固定的延迟。

有谁知道如何在帧之间设置不同的延迟?或者,有这样一个例子吗?

也许UIImageView不适合使用,所以如果有人有其他选择请告诉我。

我在其他论坛上发布了一个类似的问题,似乎没有人能够回答这个问题。它似乎应该可行,因为.gif图像已经永远存在。

由于

4 个答案:

答案 0 :(得分:1)

看起来很糟糕,但是:

来自UIImageView文档:

  

animationImages

     

用于动画的UIImage个对象数组。

@property(nonatomic, copy) NSArray *animationImages
     

<强>讨论

     

数组必须包含UIImage个对象。 您可以使用相同的   数组中的图像对象不止一次。 将此属性设置为   除nil以外的值会隐藏image所代表的图像   属性。默认情况下,此属性的值为nil

因此,您需要多次将UIImage添加到数组中以延迟。

答案 1 :(得分:0)

您必须使用不同的UIImageView才能使其正常工作。试试这个应用页面。可能对你有所帮助。链接:http://www.raywenderlich.com/2454/how-to-use-uiview-animation-tutorial

答案 2 :(得分:0)

UIImageView不支持不同图像之间的不同延迟。如果您希望帧之间有不同的延迟,则必须使用多个UIImageView并手动管理它们之间的转换。

另一种方法是使用UIWebView,其大小恰好适合具有所需延迟设置的.gif图像。

答案 3 :(得分:0)

如果您想在iOS应用中尝试我的动画库,它会为此问题提供完整的解决方案。例如,您可以查看APNG应用,它是iTunes商店中显示动画APNG文件的免费应用。这个应用程序是使用我的AVAnimator库创建的,其中包含APNG和GIF解码支持。 APNG格式就像GIF一样,每个帧都有延迟时间,在这种情况下,您可以使用现有软件创建APNG。但是,从一系列PNG图像中编码新的.mvid文件(这是一种自定义视频文件格式)更容易。要创建更长的延迟,只需重复输入PNG图像系列中不会更改的帧。这两种方法都可以用来创建一个输入电影,它可以在特定帧之间以不同的时间显示(整个FPS会相同,但是特定的帧可以简单地重复,这样它们就不会改变,比如说N帧中的N帧。行)。您还可以实现特定的用户交互,例如开始动画,暂停特定帧,然后从同一帧重新开始。