我正在尝试使用带有数组的UIImageView创建动画(如果是图像)。它工作得很好,除了我需要在一些帧之间有不同的延迟。在动画gif中,您可以设置帧之间的延迟。我看到的动画UIImageView的每个例子在图像之间都有固定的延迟。
有谁知道如何在帧之间设置不同的延迟?或者,有这样一个例子吗?
也许UIImageView不适合使用,所以如果有人有其他选择请告诉我。
我在其他论坛上发布了一个类似的问题,似乎没有人能够回答这个问题。它似乎应该可行,因为.gif图像已经永远存在。
由于
答案 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帧。行)。您还可以实现特定的用户交互,例如开始动画,暂停特定帧,然后从同一帧重新开始。