2016-07-24 43 views
0

在cellForItemAtIndexPath错误图像UICollectionView单元复用的ImageView将显示哪些不属于它

- (void)setupDeskWithLessonRole:(LessonRole *)role{ 
    [self initializeCell]; 
    if (role) { 
     _stuPortrait.hidden = NO; 
     _genderSign.hidden = NO; 
     if (role.userInfo.gender.integerValue == UserGenderTypeMale) { 
      [_stuPortrait sd_setImageWithURL:[NSURL URLWithString:role.userInfo.portraitUrl] placeholderImage:[UIImage imageNamed:@"Student_por_boy"]]; 
     } else { 
      [_stuPortrait sd_setImageWithURL:[NSURL URLWithString:role.userInfo.portraitUrl] placeholderImage:[UIImage imageNamed:@"Student_por_girl"]]; 
     } 
     _genderSign.image = [role.userInfo.gender intValue] == 0? [UIImage imageNamed:@"Lesson_boySign"] : [UIImage imageNamed:@"Lesson_girlSign"]; 
     _name.text = role.userInfo.nickName; 
     [_stuPortrait setBoardWidth:2 hexColor:[role.userInfo.gender intValue] == 0? @"4dc2ff":@"ff6683 "]; 
     if (role.isSpeaking) { 
      [self startAnimation]; 
     } else { 
      [self stopAnimation]; 
     } 
     if (role.isRaisingHand){ 
      _raiseHandIcon.hidden = NO; 
     } else { 
      _raiseHandIcon.hidden = YES; 
     } 
    } 
} 

- (void)prepareForReuse{ 
    [super prepareForReuse]; 
    [self initializeCell]; 
} 

时reloadData在一些细胞中的ImageView,它的作用是空的将显示一个图像 enter image description here

一个图片显示,当第二个角色进来时,我重新加载数据,第二个角色的图像将显示我n其他单元格的图像视图

回答

0

您应该在每次重新使用单元格时设置图像。