如何在两秒钟后关闭代码中的视图



我有一个包含多个UIIMages的UICOllectionView(不使用情节提要)。当用户点击图像时,视图将放置在特定 UIImage 内,其中包含用户的信息。我希望此视图在 2 秒后自动删除它。有人可以给我一个例子如何实现这一目标。我没有找到任何解决方案。我知道我可以通过说View.removeFromSuperView()来轻松消除视图。有人可以举个简短的例子吗

谢谢

您可以使用 Grand Central Dispatch 在 2 秒后执行代码块

DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// code to remove your view
}

试试这个:

let viewss = UIView()

在视图中加载

Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { (timer) in
self.viewss.isHidden = true
}

您可以在内部创建一个使用 ggd asyncAfter 函数Swift 3performAfter 函数,例如

func performAfter(delay: TimeInterval, completion: @escaping () -> Void) {
DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
completion()
}
}

和使用

performAfter(delay: 2) {
print("task to be done")
}

最新更新