我嘗試使用主線程來顯示,但它沒有工作,任何思想爲什麼警報不馬上顯示?Swift - 單擊按鈕後立即顯示警告與加載指示器的最佳方式?
@IBAction func updateData(_ sender: Any) {
let alert = UIAlertController(title: "Updating data", message: "Please wait...", preferredStyle: .alert)
alert.view.tintColor = UIColor.black
let loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRect(x: 10,y: 5,width: 50, height: 50)) as UIActivityIndicatorView
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
loadingIndicator.startAnimating();
alert.view.addSubview(loadingIndicator)
DispatchQueue.main.async {
self.present(alert, animated: true)
}
目前有之前的警報顯示延遲了 – QTB
任何理由你正在主隊列上調度它?而不是直接展示它。 存在(警報,動畫:真) – vj9
我前面已經有這個問題,似乎當的viewController是我最初的視圖控制器僅發生,但如果我Segue公司到控制器,它似乎做工精細 – Mentos