【问题标题】:iOS network activity indicator is not showingiOS 网络活动指示器未显示
【发布时间】:2016-05-02 09:22:58
【问题描述】:

我正在使用 Alamofire 网络库来发出请求。

我正在执行几个不同的任务,例如。

  • 下载文件
  • 上传文件
  • 发布请求

但是任何操作的状态栏中都没有显示网络活动指示器。

这种行为的可能原因是什么?

这值得担心吗?

【问题讨论】:

    标签: ios iphone swift 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 想要隐藏时。默认不显示。

          希望这会有所帮助:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多