使用下面的代码,我成功地使UIImageView的图像褪色。
[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:
就像细胞进入可见区域之外一样,这被称为。
尝试将图像设置为nil或此处没有图像。应该管用。
关于ios - 如何删除UIView transitionWithView的影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28535466/