活动指示器忽略延迟功能

问题描述 投票:-1回答:1

这是显示activity indicator的功能

func showActivityIndicator() {
     let container: UIView = UIView()
     container.frame = CGRect(x: 0, y: 0, width: 80, height: 80)
     container.backgroundColor = .clear
     activityView.center = self.view.center
     container.addSubview(activityView)
     self.view.addSubview(container)
     activityView.startAnimating()
}

这是delay函数,参数应为秒数:

func delay(_ delay: TimeInterval, callback: @escaping ()->()) {
    let delay = delay * Double(NSEC_PER_SEC)
    let popTime = DispatchTime.now() + Double(Int64(delay)) / Double(NSEC_PER_SEC);
    DispatchQueue.main.asyncAfter(deadline: popTime, execute: {
        callback()
    })
}

这是调用这两个函数的地方:

showActivityIndicator()
delay(3) {
    self.activityView.stopAnimating()
}
let alert = UIAlertController(title: "Success", message: "Thanks", preferredStyle: .alert)
let action = UIAlertAction(title: "OK", style: .default, handler: {(alert: UIAlertAction!) in self.displayHomeVC()})
alert.addAction(action)

所以我希望显示活动指示器3秒钟,然后显示警报。问题:稍后活动指示消失,并显示警报。有人知道为什么吗?

ios swift delay uialertview uiactivityindicatorview
1个回答
1
投票

首先,@ Paulw11和@matt说的是对的,您应该调查一下。

© www.soinside.com 2019 - 2024. All rights reserved.