ios - 当我使用 Afnetworking 从 Json 加载 url 图像时显示/隐藏事件指示器

标签 ios afnetworking uiactivityindicatorview

这是我使用 afnetworking 加载 json 的方法:

-(void) connectPhp {

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    manager.responseSerializer = [AFJSONResponseSerializer serializer];

    [manager GET:@"http://XXXXXXXXXXXXX.php" parameters:nil success:^(AFHTTPRequestOperation *operation, NSArray * responseObject) {

        i=0;
        test = (NSDictionary *)responseObject;

        compteur =test[@"images"][@"items"];
        total=[compteur count];
        NSLog(@"%d TOTO", total);
        // AFFICHER LE TOTAL D'URL DANS TOTAL NSLog(@"%d", total);


        NSLog(@"%@", test[@"images"][@"items"][i][@"title"]);

        NSString *urltest = test[@"images"][@"items"][i][@"url"];
        self.label.text = test[@"images"][@"items"][i][@"title"];

        url = [NSURL URLWithString:urltest];

        data = [NSData dataWithContentsOfURL:url];
        img = [[UIImage alloc] initWithData:data];

        //Je stocke le total d'images
        totalImg = [NSString stringWithFormat:@"%d", total];


        //Je stocke l'ID de l'image
        idImg = [NSString stringWithFormat:@"%d", i+1];


        NSLog(@"%@", idImg);
        //je donne au compteur la valeur idImg
        self.compteurID.text=idImg;
        self.compteurTotal.text=totalImg;

        if (total<9){

            [self.pageControl setNumberOfPages:total];
            [self.pageControl setCurrentPage:i];
        }
        else if (total>9){
            [self.pageControl setNumberOfPages:10];
            NSLog(@"ICI TOTAL>10");

        }



    }

    failure:nil];

}

这是我在拖动时切换图像的方法:

-(void) scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    if (self.scrollView.contentOffset.x<-20){
        if (i==0){[self resizeImages];}

        else{
            i--;
            [self resizeImages];
        }
    }
    else if ((self.scrollView.bounds.size.width)-(self.scrollView.contentOffset.x)==25){
        if (i==(total)-1){i=0;}
        i++;
        [self resizeImages];

    }
    else if (self.scrollView.contentOffset.x>(self.imgView.frame.size.width)/3){
        if (i==(total)-1){i=0;}
        i++;
        [self resizeImages];

    }
}

它有效。 当我拖动时,我在我的 json 中加载图像的下一个 url。有用。 但是,我想在拖动和加载下一张图片时显示一个事件指示器。我该怎么做?

最佳答案

  1. 当您开始加载图像时,将 UIActivityIndi​​catorView 添加到您的 View 层次结构并启动动画。
  2. 当您的图像完成下载时,向事件指示器发送一条 removeFromSuperview 消息。

关于ios - 当我使用 Afnetworking 从 Json 加载 url 图像时显示/隐藏事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894352/

相关文章:

ios - 如何将数据从iOS中的数据模型存储到核心数据中,并以数据模型的格式获取

iphone - 随着表变大,Sqlite3 插入到非索引表需要更长的时间

ios - 如何在离线时使用 NSURLCache 返回缓存的 API 响应(iOS App)

objective-c - AFNetworking 异步数据获取

ios - AFNetworking http 客户端不发送 JSON 参数

c# - 在静态方法中初始化对象并使用 NSNotificationCenter 的内存泄漏

ios - 将 UILabel 文本与特定字符对齐

ios - 如何以编程方式找到 Swift 的版本?

objective-c - 我可以在单独的线程上构建 UIView 元素吗?

ios - 如何以编程方式使用事件指示器进行覆盖