Rob*_*rks 4 activity-indicator swift
我正在尝试在swift中创建一个全局活动指示器,只要对api进行提取就会调用它.我们的想法是,活动指示器将显示在导航栏(导航视图控制器的子项)的左上角,并且可在每个应用程序页面上使用.
由于新帐户/低代表,无法显示示例图像
我的活动指示器显示正确,我只是不确定如何从应用程序的任何页面提供它 - 我已经考虑了扩展,但我不确定最好的方法是什么.任何帮助将不胜感激.
活动指标代码:
let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.White)
var activityItem = UIBarButtonItem()
func navBarActivity() {
// Call navBarActivity() to start activity indicator
// Use navigationItem.leftBarButtonItem = nil to stop activity indicator
activityIndicator.startAnimating()
activityIndicator.hidden = false
self.activityItem = UIBarButtonItem(customView: activityIndicator)
self.navigationItem.leftBarButtonItem = activityItem
}
Run Code Online (Sandbox Code Playgroud)
我会推荐像这样的扩展.
extension UIViewController {
func displayNavBarActivity() {
let indicator = UIActivityIndicatorView(activityIndicatorStyle: .White)
indicator.startAnimating()
let item = UIBarButtonItem(customView: indicator)
self.navigationItem.leftBarButtonItem = item
}
func dismissNavBarActivity() {
self.navigationItem.leftBarButtonItem = nil
}
}
Run Code Online (Sandbox Code Playgroud)
self.displayNavBarActivity()
在api 呼叫之前呼叫,并self.dismissNavBarActivity()
在api呼叫完成后呼叫.
不过,我想你检查networkActivityIndicatorVisible
的UIApplication
.考虑使用此选项.
如果应用程序应显示网络活动,请指定YES;如果不应该,则指定NO.默认值为NO.状态栏中的旋转指示器显示网络活动.该应用可能会明确隐藏或显示此指标.
归档时间: |
|
查看次数: |
2472 次 |
最近记录: |