swift - 在 collectionView Swift 中加载数据时显示事件指示器

标签 swift uicollectionview uiactivityindicatorview

当我的 collectionView 中的数据加载时,我将如何显示事件指示器和白色背景?

我目前有这个:

let activityView = UIActivityIndicatorView(activityIndicatorStyle: .whiteLarge)
override func viewDidAppear(_ animated: Bool) {

    super.viewDidAppear(animated)
    self.view.addSubview(activityView)
    activityView.hidesWhenStopped = true
    activityView.center = self.view.center
    activityView.startAnimating()

    DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
        fetchPosts()
    }

    DispatchQueue.main.async {
        UIView.animate(withDuration: 1, delay: 1, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseInOut, animations: {
            self.collectionView?.reloadData()
            self.collectionView?.alpha = 1
            self.activityView.stopAnimating()
        }, completion: nil)
    }
}

最佳答案

试试这个,希望对你有帮助

let activityView = UIActivityIndicatorView(activityIndicatorStyle: .whiteLarge)

override func viewDidAppear(_ animated: Bool) {

   super.viewDidAppear(animated)

    let fadeView:UIView = UIView()
    fadeView.frame = self.view.frame
    fadeView.backgroundColor = UIColor.whiteColor()
    fadeView.alpha = 0.4

    self.view.addSubview(fadeView)

    self.view.addSubview(activityView)
    activityView.hidesWhenStopped = true
    activityView.center = self.view.center
    activityView.startAnimating()

   DispatchQueue.global(qos: DispatchQoS.QoSClass.background).async {
    fetchPosts()
   }

   DispatchQueue.main.async {
    UIView.animate(withDuration: 1, delay: 1, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseInOut, animations: {
        self.collectionView?.reloadData()
        self.collectionView?.alpha = 1
        fadeView.removeFromSuperview()
        self.activityView.stopAnimating()
    }, completion: nil)
 }
}

关于swift - 在 collectionView Swift 中加载数据时显示事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46650183/

相关文章:

swift - iOS 9 中的 UICollectionView 布局错误

IOS CollectionView 页脚添加 Google AdMob

ios - SDWebImage 下载但不显示图像

ios - 自定义颜色我的 UIActivityIndi​​catorView

objective-c - iOS - 加载表时显示 UIActivityIndi​​catorView

ios - swift:ContainerView正确的 Action

ios - 在 swift 3.0 中呈现和推送 View Controller

ios - 无法为 UIActivityIndi​​catorView 设置指示器样式

ios - 使用未声明的类型 'UIWindowScene'

swift - 从一点 Swift 记录 Controller 方法