当我在选项卡之间切换时,页面需要加载几秒钟时间,我想知道我的数据正在加载。因此,我决定添加活动指示器。
我编写了一个小函数:
func showActivityIndicator() {
dispatch_async(dispatch_get_main_queue()) {
self.spinner = UIActivityIndicatorView(activityIndicatorStyle: .WhiteLarge)
self.spinner.frame = CGRect(x: 0.0, y: 0.0, width: 80.0, height: 80.0)
self.spinner.center = CGPoint(x:self.loadingView.bounds.size.width / 2, y:self.loadingView.bounds.size.height / 2)
self.loadingView.addSubview(self.spinner)
self.view.addSubview(self.loadingView)
self.spinner.startAnimating()
}
}
这将显示我的指示器。并尝试在我从infoController轻敲按钮时使用它:
@IBAction func goToMainFromInfo(sender: AnyObject) {
self.showActivityIndicator()
self.performSegueWithIdentifier("fromMainToInfoWActivity", sender: nil)
self.hideActivityIndicator()
}
}
在执行Segue之前我将其显示出来,之后隐藏它,并没有帮助到我。当我尝试使用sync时:
@IBAction func goToMainFromInfo(sender: AnyObject) {
dispatch_async(dispatch_get_main_queue()) {
self.showActivityIndicator()
self.performSegueWithIdentifier("fromMainToInfoWActivity", sender: nil)
self.hideActivityIndicator()
}
}
但这也没有帮助。当我按tab键时,它的不透明度变为0.5,我在等待加载,但是我看不到我的活动指示器。
问题出在哪里?