2012-06-12 44 views
0

我有一個JSON服務,我使用了一些照片。我想從它製作一個縮略圖庫:從JSON中逐個載入照片

-(void)fillPhotos:(NSMutableArray *)json{ 
    _loadingLabel.alpha=0; 
    [SV setScrollEnabled:YES]; 
    if(json.count>0){ 
     NSDictionary *json_dictionary=[json objectAtIndex:0]; 
     NSInteger i=0; 
     for(i=0;i<[[json_dictionary objectForKey:@"Photos"] count];i++){ 
     NSDictionary *photosDic =[[json_dictionary objectForKey:@"Photos"] objectAtIndex:i] ; 
     NSString *imageUrl = [photosDic objectForKey:@"URI"]; 
     UIImageView* photo; 
     CGRect viewRect; 
      if(i % 2){ 
      viewRect = CGRectMake(164,146*(i/2)+10*(i/2), 146, 146); 
      NSLog(@"par"); 
      }else{ 
      viewRect = CGRectMake(10,146*(i/2)+10*(i/2), 146, 146); 
       NSLog(@"impar"); 
      } 
      photo = [[UIImageView alloc] initWithFrame:viewRect]; 
      photo.image=[UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString: imageUrl]]]; 
      [SV addSubview:photo]; 
      SV.contentSize=CGSizeMake(320,146*i+146); 
      [SV reloadInputViews]; 
     } 
    } 
} 

它的工作好,但我有兩個問題。首先,我希望視圖可以通過照片加載照片,這樣用戶就不必一直等待照片上的所有照片。其次,我想讓照片在中心裁剪,但只佔用146x146幀。但是,如果我把內容模式放在頂端,照片會從他的框架中跳出來。

你能幫我嗎?

回答

2

對於第一個問題,您需要異步加載圖像。具體如何做到這一點超出了答案的範圍(部分取決於你),但你可能想要看看NSURLConnectionNSOperationNSOperationQueue

對於第二個問題,只需設置photo.clipsToBounds = YES

+0

太棒了! Tks男人!你釘了它! – 88fsantos