使用下面的代码,我已经成功地使我的UI
ImageView在其图像中消失.
[UIView transitionWithView:myCell.myImageView duration:2.0 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ myCell.myImageView.image = myImage; } completion:NULL];
但是,当单元格被重用时,我需要删除此图像.
重复使用时,会显示最后的图像(在重复使用之前显示),然后转换为其应该是的图像,而不是从无图像转换为应该是的图像.
我试过了
-(void)prepareForReuse { [super prepareForReuse]; // More is obvIoUsly needed than just setting image to nil when using a transition self.myImageView.image = nil; [self.myImageView setNeedsDisplay]; // but I also tried removing all animations [self.myImageView.layer removeAllAnimations]; // and I even tried removing the sublayers,but still no success. [self.myImageView.layer.sublayers makeObjectsPerformSelector:@selector(removeFromSuperlayer)]; }
任何帮助不胜感激,但如果您不明白问题,请不要回答.评论,所以如果需要,我可以更好地解释.
谢谢!
解决方法
你可以利用回调
的tableView:didEndDisplayingCell:forRowAtIndexPath:
这被称为就像细胞在可见区域之外.尝试将图像设置为零或无图像.应该工作