如何在两秒后关闭代码中的视图
How to dismiss a view in code after two seconds
我有一个包含多个 UIIMage 的 UICOllectionView(不使用故事板)。当用户点击一个图像时,一个视图被放置在特定的 UIImage 中,其中包含用户的信息。我希望这个视图在 2 秒后自动删除它。有人可以给我一个如何实现这一目标的例子。我没有找到任何解决方案。我知道我可以通过说 View.removeFromSuperView() 很容易地驳回一个观点。有人可以做一个简短的例子吗
谢谢
您可以使用 Grand Central Dispatch 在 2 秒后执行一段代码
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// code to remove your view
}
试试这个:
let viewss = UIView()
在 ViewDidLoad
Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { (timer) in
self.viewss.isHidden = true
}
您可以创建一个在内部使用 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")
}
我有一个包含多个 UIIMage 的 UICOllectionView(不使用故事板)。当用户点击一个图像时,一个视图被放置在特定的 UIImage 中,其中包含用户的信息。我希望这个视图在 2 秒后自动删除它。有人可以给我一个如何实现这一目标的例子。我没有找到任何解决方案。我知道我可以通过说 View.removeFromSuperView() 很容易地驳回一个观点。有人可以做一个简短的例子吗
谢谢
您可以使用 Grand Central Dispatch 在 2 秒后执行一段代码
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// code to remove your view
}
试试这个:
let viewss = UIView()
在 ViewDidLoad
Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { (timer) in
self.viewss.isHidden = true
}
您可以创建一个在内部使用 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")
}