我有一个包含几个UIIMages的UICOllectionView(不使用故事板)。当用户点击图像时,视图被放置在包含用户信息的特定UIImage内。我希望这个视图在2秒后自动删除它。有人可以给我一个如何实现这一目标的例子。我没有找到任何解决方案。我知道我可以通过说View.removeFromSuperView()来轻松地忽略一个视图。有人可以举一个简短的例子吗
由于
答案 0 :(得分:15)
您可以使用Grand Central Dispatch
在2秒后执行一段代码DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// code to remove your view
}
答案 1 :(得分:1)
试试这个:
let viewss = UIView()
在ViewDidLoad
中Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { (timer) in
self.viewss.isHidden = true
}
答案 2 :(得分:0)
您可以在内部创建一个使用Swift 3
GCD asyncAfter函数的performAfter函数,如
func performAfter(delay: TimeInterval, completion: @escaping () -> Void) {
DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
completion()
}
}
并使用
performAfter(delay: 2) {
print("task to be done")
}