如何在添加子视图后立即在UI中显示子视图?

基本上我想要一个标签作为一个子视图出现,当我添加它,而不是等到当前线程完成它正在做什么。 在下面的例子中,标签出现在应用程序的UI中,同时打印“Awake”。 你知道如何让我的子视图出现在用户界面之前,睡眠线程?

@IBAction func ButtonTapped(_ sender: Any) { let label = UILabel(frame: self.view.bounds) label.text = "Label Text" self.view.addSubview(label) // I want this to appear on the UI before... sleep(3) print("Awake") // ... this is printed } 

并且在DispatchQueue.main.async {}中包含addSubView()行不能解决问题。

谢谢。

感谢Paulw11,我发现我需要在后台线程上进行处理。 简单的解决scheme:

 @IBAction func ButtonTapped(_ sender: Any) { let label = UILabel(frame: self.view.bounds) label.text = "Label Text" self.view.addSubview(label) // I want this to appear on the UI before... DispatchQueue.global(qos: .background).async { sleep(3) print("Awake") // ... this is printed } }