2016-11-18 67 views
1

在我的应用我使用alamofire从Web API集成到我的应用程序解析JSON数据。我想在数据加载时添加加载微调器。我有一个看看:加载微调的Alamofire

Alamofire Loading Indicator

但只显示上方的小网络图标。任何帮助都会很棒。

+0

您是否在寻找UIActivityIndi​​cator?您必须将其添加为子视图,然后调用开始或停止刷新。 –

+0

你能举个例子吗? – rob

+0

@rob检查这一项http://stackoverflow.com/a/38457815/6433023它不是斯威夫特3,但你可以通过小的变化 –

回答

1

您正在寻找活动的指标视图UIActivityIndicatorView。这必须手动添加。您可以通过故事板添加它,并启用hidesWhenStopped,以便指示器在停止时不可见。

在任何情况下,您必须在请求开始前手动呼叫startAnimating,然后在请求完成时手动呼叫stopAnimating

做这一切编程会是这个样子:

// Assuming in the view controller 
     let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .gray) // Create the activity indicator 
     view.addSubview(activityIndicator) // add it as a subview 
     activityIndicator.center = CGPoint(x: view.frame.size.width*0.5, y: view.frame.size.height*0.5) // put in the middle 
     activityIndicator.startAnimating() // Start animating 
     request.perform { data, error in 
      activityIndicator.stopAnimating() // On response stop animating 
      activityIndicator.removeFromSuperview() // remove the view 
      // ... process data 
     } 
+0

我会的“UIActivityIndi​​catorView”添加到我的tableView把它,将这段代码进入相同的ViewController的TableView中 – rob

+0

你可以,但我不认为它。在表格视图中,指标会随着内容一起滚动(可能是你想要的)。代码会很相似,但是您将删除所有“视图”调用,因为表视图已经是视图。因此,例如,而不是“view.addSubview(activityIndi​​cator)”你会叫“addSubview(activityIndi​​cator)” –

+0

以表视图和活动指示灯工作时也看看到UIRefreshControl。您可以在表视图有一个属性来设置刷新控件。然后,只需调用tv.refreshControl.beginRefreshing()。这主要用于下拉刷新。 –