繁体   English   中英

如何在两个 PNG 图像之间为 UIButton 设置动画?

[英]How do I animate a UIButton between two PNG images?

我有两个要用作按钮的 PNG。 如何通过在这两个图像之间快速切换来为 UIButton 设置动画?

您可以使用按钮的imageView animationImages属性:

myButton.imageView.animationImages =
[NSArray arrayWithObjects:[UIImage imageNamed:@"image1.png"],
                          [UIImage imageNamed:@"image2.png"],
                          nil];
myButton.imageView.animationDuration = 0.5; //whatever you want (in seconds)
[myButton.imageView startAnimating];

您的按钮将在两个图像之间切换。

编辑:由于@tidbeck指出,按钮需要具有分配的图像才能创建imageview属性。

通常,对于一个按钮,您可以设置三种“实时”状态:-正常-高亮显示-已选中我不知道这是否有帮助,但是如果将一个图像设置为“正常”而将另一图像设置为“突出显示”,则可以按下按钮时的两个图像。 我不知道这种效果是否足以满足您的需求。

这个小例子展示了如何设置一个 UIButton 来显示一个无限期的心跳动画。

我在 Assets.xcassets 中添加了 8 张图片,并将它们命名为: heart1<\/code> , heart2<\/code> , ..., heart8<\/code> 。

private func showHeartedAnimation() {
    var images = [UIImage]()
    for i in 1...8 { images.append(UIImage(named: "heart\(i)")!) }
    self.heartButton.setImage(UIImage.animatedImage(with: images, duration: 0.2), for: .normal)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM