swift - 我可以在 UIButton.imageView 中放置静态图像吗?那是动画?
问题描述
我有一个自定义UIButton
( MovesButton
),其中包含我不想更改或删除的图像。但是当我设置button.imageView?.animationImages
一堆图像并开始对其进行动画处理时,它会删除我拥有的按钮的初始照片。如果我将静态照片作为背景,它看起来就像着火了。我希望火作为背景,最好是在同一个UIButton
班级。
private func putAnimation(button: MovesButton) {
var images: [UIImage] = []
if button.animation == ButtonAnimations.None {
print("None11")
return
} else if button.animation == ButtonAnimations.SmallFire {
for i in 0 ... ButtonAnimations.SmallFire.1 {
images.append(UIImage(named: "\(ButtonAnimations.SmallFire.0)\(i)")!) //ButtonAnimations.SmallFire.0 = "smallFire"
}
} else if button.animation == ButtonAnimations.BigFire {
for i in 0 ... ButtonAnimations.BigFire.1 {
images.append(UIImage(named: "\(ButtonAnimations.BigFire.0)\(i)")!)
}
} else { print("weird button animations") }
button.imageView?.animationImages = images
button.imageView?.animationDuration = 1
button.imageView?.startAnimating()
}
我不想使用在imageView
后面放置一个或另一个按钮的技巧MovesButton
我想要与 a 相同的动画结果,button.imageView.animationImages
但与backgroundImage
. 这可能吗?
解决方案
代替图像视图动画,使用图像动画。调用 UIImageanimatedImage(with:duration:)
以形成动画图像。将其设置为按钮的背景图像,一切就绪。
推荐阅读
- c++ - 父类的后代即使在声明为朋友后也无法访问其宿主类的私有成员数据字段
- c - 如何从 C git repo 生成 32 位 dll
- python - numpy.resize() 和 cv2.resize() 有什么区别?
- pandas - pandas 将不均匀的每小时数据重新采样到 1D 或 24h 箱中
- c# - 使用 JQuery 向 c# .net rest API 发出 POST 请求
- php - 一个月后如何自动删除文件?
- versioning - sphinx-versioning 显示分支而不是版本号
- r - 在 R 中外部连接后,如何从特定时间段复制值以替换 NA?
- node.js - Node.js process.versions.node 未定义
- c++ - 在字符串中查找中间词