如何在添加子视图后立即在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 } }