iOS 网络活动指示器未显示
Posted
技术标签:
【中文标题】iOS 网络活动指示器未显示【英文标题】:iOS network activity indicator is not showing 【发布时间】:2016-05-02 09:22:58 【问题描述】:我正在使用 Alamofire 网络库来发出请求。
我正在执行几个不同的任务,例如。
下载文件 上传文件 发布请求但是任何操作的状态栏中都没有显示网络活动指示器。
这种行为的可能原因是什么?
这值得担心吗?
【问题讨论】:
【参考方案1】:您必须手动打开/关闭网络指示器,这不是默认行为。这是你的做法
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
Swift 代码
UIApplication.shared.isNetworkActivityIndicatorVisible = true
【讨论】:
【参考方案2】:由于您使用的是 Alamofire,因此您应该使用配套库:https://github.com/Alamofire/AlamofireNetworkActivityIndicator
从他们的自述文件中,您需要做的就是
NetworkActivityIndicatorManager.sharedManager.isEnabled = true
【讨论】:
为这么小的行为添加一个完整的依赖项不是太多了吗? 这由你来决定我猜,有些人不会使用 alamofire,因为 NSURLSession 相当简单。对于这种情况,如果您已经在使用 AF,则此依赖项仅是 1 个额外文件,我个人不会认为这是一个大问题【参考方案3】:Swift 3.0 兼容代码:
UIApplication.shared.isNetworkActivityIndicatorVisible = true
【讨论】:
【参考方案4】:我做了wattson12 answers 要求我做的事情但是没有用。
您还需要添加以下行,因为指标的默认启动延迟为 1。
NetworkActivityIndicatorManager.shared.startDelay = 0
如果您查询的内容非常简单,并且在 1 秒内返回响应,那么它甚至不会显示。
【讨论】:
【参考方案5】:您应该手动显示网络活动指示器,例如,
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
和false
想要隐藏时。默认不显示。
希望这会有所帮助:)
【讨论】:
以上是关于iOS 网络活动指示器未显示的主要内容,如果未能解决你的问题,请参考以下文章