2017-10-09 14 views
0

collectionViewのデータが読み込まれている間に、アクティビティインジケータと白い背景を表示するにはどうすればよいですか?collectionViewでデータが読み込まれている間にアクティビティインジケータを表示するSwift

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) 
    } 
} 
+0

あなたは[ 'color']に変更することができます助けることを願って、これを試してみてくださいhttps://developer.apple.com/:

私は現在、これは持っていますドキュメンテーション/ uikit/uiactivityindicatorview/1622836-color)を 'UIActivityInidicatorView'の中に置きます。 – Paolo

答えて

0

私は(これはあなたが

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) 
} 
} 
関連する問題