【问题标题】:How to get network activity spinner status?如何获取网络活动微调器状态?
【发布时间】:2014-10-30 23:52:03
【问题描述】:

我有一个应用程序,如果正在加载数据,我想让按钮无法点击。如果没有网络活动,则意味着由于所有数据都已加载,因此该按钮应该是可点击的。

你可以在这里看到微调器。左上角。

http://i.imgur.com/teWmZ.png

if b.enabled = 0; if 语句应该是怎样的?是什么让按钮不可点击并使其 1 可点击?

我要输入什么 如果 ( )

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    那个微调器是你的微调器。你不能知道它是否在旋转,因为你设置它在旋转。因此,询问它是否在旋转是没有意义的。你已经知道了。如果您已将其设置为旋转,则它正在旋转,如果您已将其停止或从未设置它旋转,则它不旋转(并且不存在)。

    那个微调器知道任何关于“数据正在加载”的事情。知道这取决于。它只是一个旋转器。它没有智慧。

    【讨论】:

      【解决方案2】:
      if ([UIApplication sharedApplication]. isNetworkActivityIndicatorVisible){
          //action if data is loading
      }
      

      【讨论】:

        【解决方案3】:

        您在左上角寻找的是: [[UIApplication sharedApplication] setNetworkActivityIndi​​catorVisible:YES]; 当然使用 YES 来显示和 NO 来隐藏。

        那么我建议您使用 AFNetworking 来处理您的请求,它有一个成功和失败的块,您可以轻松地使用它来启用或禁用您的 UI。

        例子:

            //DISABLE YOUR UI INTERACTION HERE
            AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
            [manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
                NSLog(@"JSON: %@", responseObject);
                //ENABLE YOUR UI INTERACTION ONCE REQUEST IS DONE AND SUCCESSFUL
            } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                NSLog(@"Error: %@", error);
                //ENABLE YOUR UI INTERACTION ONCE REQUEST IS DONE BUT FAILED
            }];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-13
          • 2014-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多