0

現在、iPad 用の Facebook アプリケーションを作成しています。壁を引っ張ってUITableViewに入れました。写真をテーブルビューに入れる方法は次のとおりです。

画像の配列を照会するための requestDidLoad 内。

-(void)request:(FBRequest *)request didLoad:(id)result {

 //Determine if result is a array of images
if ([result objectForKey:@"images"] != nil) {
    if ([request.url rangeOfString: @"=images"].location != NSNotFound) {
         realPicsonWall = result;
        NSLog(@"Result Object: %@", [result objectForKey:@"images"]);


    }      
} 

次に cellForRowAtIndexPath で:

  UITableViewCell *cell = [tableView 
                         dequeueReusableCellWithIdentifier:@"messageCell"];
imageCellData *imageCell = [tableView dequeueReusableCellWithIdentifier:@"imageCell"];
//imageCellData is custom cell.
if ([[objectTypes objectAtIndex:indexPath.row] isEqualToString:@"photo"]) {
    //this is a picture


     NSArray *imagesArray = [realPicsonWall objectForKey:@"images"];
    NSDictionary *imageProps = [imagesArray objectAtIndex:3];

    NSLog(@"imageprops source: %@", [imageProps objectForKey:@"source"]);
    [imageCell.imageview setImageWithURL:[NSURL URLWithString:[imageProps objectForKey:@"source"]]];


    [imageCell layoutSubviews];
    return imageCell;


}else if ([[objectTypes objectAtIndex:indexPath.row] isEqualToString:@"video"]) {
    //this is a video
    NSLog(@"Video Called");
     NSDictionary *fromDictionary = [globalWhoPosted objectAtIndex:indexPath.row];
    cell.textLabel.text = @"Videos Are Not Supported";
     cell.detailTextLabel.text = [NSString stringWithFormat:@"Video Posted By: %@", [fromDictionary objectForKey:@"name"]];
    NSLog(@"Video By: %@", [fromDictionary objectForKey:@"name"]);
    return cell;
} 
else {
    NSDictionary *fromDictionary = [globalWhoPosted objectAtIndex:indexPath.row];
    NSString *story = [messages objectAtIndex:indexPath.row];
    cell.textLabel.text = story;
    cell.detailTextLabel.text = [NSString stringWithFormat:@"By: %@", [fromDictionary objectForKey:@"name"]];

    cell.alpha = 1;
    return cell;
}

return cell;
}

numberOfRows:

{
   return [messages count];
}

プルする壁に2つの異なる画像がありますが、同じ画像が2つプルされるため、テーブルビューでは同じ画像が2回表示されますが、2つの差分であるはずです。画像。どんな助けでも非常に寛大です。ありがとう。

4

1 に答える 1

0

これが当てはまるgraphapiURLの例はありますか?おそらく私がすることは、同じ寸法のすべての画像を探すことです。これにより、解像度が異なるだけでなく、複数の画像がjsonにある場合、同じ解像度の画像を取得すると、一意の画像を取得することが保証されるという仮定につながります。

于 2012-05-30T01:16:05.510 に答える