如何在Swift中淡入和淡出ActivityIndi​​cator?

时间:2015-06-13 21:28:31

标签: ios swift

这是我的活动指标:

self.activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.WhiteLarge)
self.activityIndicator.center = self.view.center
self.view.addSubview(activityIndicator)

我可以使用self.activityIndicator.startAnimating()启动它并使用self.activityIndicator.stopAnimating()停止它。当它停止变得更加流畅并且认为在400毫秒内淡出元素而不是在我调用stopAnimating时隐藏它时,我会喜欢转换。

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

    // Set initial state
    self.activityIndicator.alpha = 0.0

    // To show
    self.activityIndicator.startAnimating()
    UIView.animateWithDuration(0.4) {
        self.activityIndicator.alpha = 1.0
    }

    // To hide
    UIView.animateWithDuration(0.4, animations: {
        self.activityIndicator.alpha = 0.0
    }) { complete in
        self.activityIndicator.stopAnimating()
    }

答案 1 :(得分:1)

活动指示符是UIView对象。因此,您可以在其上使用UIView动画。怎么样:

func stopActivityIndiator()
{
  UIView.animateWithDuration(0.4, animations: 
  {
    self.activityIndicator.alpha = 0;
  }
  completion:
  {
    (completed) -> () in
    self.activityIndicator.stopAnimating()
    self.activityIndicator.hidden = true
    self.activityIndicator.alpha = 1.0
  }
  )
}

假设你有一个实例变量activityIndi​​cator,代码应该将它淡出0.4秒,然后将其停止并隐藏它(以便下次准备好。)

相关问题