这里是一个使用Swift编写的示例代码,实现了按下触摸时隐藏/显示UIImage,并从10倒数到0的效果:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
var count = 10
override func viewDidLoad() {
super.viewDidLoad()
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(imageTapped))
imageView.addGestureRecognizer(tapGesture)
imageView.isUserInteractionEnabled = true
}
@objc func imageTapped() {
imageView.isHidden = !imageView.isHidden
if imageView.isHidden {
count = 10
} else {
countDown()
}
}
func countDown() {
if count >= 0 {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.imageView.image = UIImage(named: "\(self.count)")
self.count -= 1
self.countDown()
}
}
}
}
在这个示例中,我们首先创建了一个UITapGestureRecognizer
对象,并将其添加到imageView
上。然后,我们通过设置isUserInteractionEnabled
为true
来启用imageView
的用户交互功能。
当用户点击imageView
时,触发了imageTapped
方法。在该方法中,我们切换了imageView
的隐藏状态,并根据隐藏状态来重置或开始倒计时。
在countDown
方法中,我们使用DispatchQueue.main.asyncAfter
方法来实现每隔1秒钟更新一次倒计时数字。在更新数字后,我们通过递归调用countDown
方法来实现持续的倒计时效果。
注意:在这个示例中,我们假设存在名为“10”到“0”的图像文件,以便根据倒计时数字来设置imageView
的图像。您可以根据自己的需要调整图像文件的命名和数量。