如何在两秒钟后解除代码中的视图

时间:2017-06-24 15:08:04

标签: ios swift nstimer

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

由于

3 个答案:

答案 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")
}