2017-10-09 2 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의 white 이외의 다른 것으로 변경하십시오. – 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) 
} 
} 
관련 문제