弹跳滚动影响UITableview内容?

时间:2014-08-28 12:38:14

标签: ios xcode uitableview scroll bounce

我遇到一个与scrollingUITableView相关的非常奇怪的问题。

我在专辑中填充了TableView collectionMPMediaItems个歌曲。在IB中,我有UIImageView,如果歌曲存储在云中,则会显示indicator。填充TableView cell后,我会检查歌曲是iCloud,如果不是UIImageView完全删除,如果是,则分配ImageView image

UIImageView *isCloudIcon = (UIImageView *)[self.view viewWithTag:105];

if ([[rowItem valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue] == NO) {
    [isCloudIcon removeFromSuperview];
} else if ([[rowItem valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue] == YES) {
    isCloudIcon.image = [UIImage imageNamed:@"iCloudIcon.png"];
}

这显示最初很好,但它也是怪异开始的地方。如果所有歌曲都存储在本地,一切正常。同样,如果所有歌曲都存储在云中,一切正常。但如果它是一个组合,那么它最初会正确显示,但是当您scroll updown时,iCloud图标image视图开始神奇地消失。通过玩它,我已经能够确定它与弹跳滚动有关。每次TableView在滚动时反弹都会删除ImageView,似乎无缘无故。关闭弹跳解决了这个问题,但这很刺耳,我宁愿把它留在里面。

有没有人遇到这样的行为?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码来自您的UITableViewCell子类? 如果是这样,您的问题并不关心弹跳,但问题是移除了UITableViewCell的{​​{1}}会被重复使用。

你应该隐藏它们而不是删除。

代码应该是:

isCloudIcon