2013-05-14 3 views
0

Я использую AFNetworking для загрузки изображений с сервера, все работает нормально, но изображения не будут отображаться, если я не прокручу таблицу. Вот мой код:Изображения появляются после просмотра таблицы прокрутки (AFNetworking)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     static NSString *CellIdentifier = @"Cell"; 
     UITableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
     if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 

} 

//configuring news feed 
    dictionary = [newsFeed objectAtIndex:indexPath.row]; 
//display thumbnails 


    UIImageView *image = [[UIImageView alloc]init]; 
    [image setImageWithURL:[NSURL URLWithString:[dictionary objectForKey:@"image"]]placeholderImage:[UIImage imageNamed:NEWSAVATAR]]; 
    cell.imageView.image = [image.image imageScaledToSize:CGSizeMake(55, 55)]; 
    [cell setNeedsLayout]; 


    return cell; 
} 
+0

Возможный дубликат [На iOS, как сделать cell.imageView обновить его содержимое?] (Http://stackoverflow.com/questions/12209380/on-ios-how-to-make-a-cell-imageview -refresh-its-content) –

+1

Возможно, это потому, что ваша ячейка находится в состоянии dequed, вы можете дать весь свой код cellForRowAtIndexPath: 'или по крайней мере инициализировать часть ячейки – Bonnie

+0

@Bonnie Я редактирую свой пост –

ответ

1

Попробуйте этот метод

[ cell.imageView.image setImageWithURL:[NSURL URLWithString:[dictionary objectForKey:@"image"]]placeholderImage:[UIImage imageNamed:NEWSAVATAR]]; 
0

Этот делегат вызывается только тогда, когда эта ячейка видна т.е. вы прокрутили в камеру. Если вы этого не хотите, вам нужно вызвать веб-сервис и сохранить все изображения локально, а затем выбрать его из своей локальной папки.

Смежные вопросы