UITableViewCell波浪卷轴上的PFImageView

时间:2015-08-19 11:05:34

标签: ios objective-c uitableview parse-platform pfimageview

我在tableview上使用自定义单元格,并且我有一个PFImageView背景图像插座(来自Interface Builder)。

当我滚动表格时,即将出现的单元格背景图像是第一次加载(不涉及caché),会产生恼人的跳跃视觉效果。

当图像已经缓存时,不会产生这种奇怪的效果。 我使用此代码段加载图像异步:

_ivBackground.image = nil;
_ivBackground.file = recipe.photo;
[_ivBackground loadInBackground:^(UIImage *image, NSError *error) {
    if (!error) {
        [UIView transitionWithView:_ivBackground
                          duration:0.2f
                           options:UIViewAnimationOptionTransitionCrossDissolve
                        animations:^{
                            _ivBackground.image = image;
                        } completion:NULL];
    }
}];

我注意到加载大于200kb的图像时会出现这种效果。

还有其他解决办法可以避免这种奇怪的行为吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

那是因为PFImageView已经设置了图像(没有动画)。 如果你想要一个自定义动画,也许你应该实现自己的UIImageView子类。

或者,您可以在动画通话之前尝试拨打_ivBackground.image = nil;(我还没有尝试过)。

[_ivBackground loadInBackground:^(UIImage *image, NSError *error) {
    _ivBackground.image = nil;
    if (!error) {
        [UIView transitionWithView:_ivBackground
                          duration:0.2f
                           options:UIViewAnimationOptionTransitionCrossDissolve
                        animations:^{
                            _ivBackground.image = image;
                        } completion:NULL];
    }

}];