Ios 滚动是否影响UITableview内容?
我遇到了一个非常奇怪的问题,与Ios 滚动是否影响UITableview内容?,ios,xcode,uitableview,scroll,bounce,Ios,Xcode,Uitableview,Scroll,Bounce,我遇到了一个非常奇怪的问题,与滚动aUITableView有关 我有一个表格视图,里面填充了专辑中的MPMediaItems:歌曲集。在IB中,我有一个UIImageView,如果歌曲存储在云中,它将显示指示器。填充表格视图单元格时,我检查歌曲是否为iCloud,如果不是,则将UIImageView完全删除,如果是,则为ImageView分配一个图像: UIImageView *isCloudIcon = (UIImageView *)[self.view viewWithTag:105];
滚动
aUITableView
有关
我有一个表格视图
,里面填充了专辑中的MPMediaItems
:歌曲集。在IB中,我有一个UIImageView
,如果歌曲存储在云中,它将显示指示器。填充表格视图
单元格
时,我检查歌曲是否为iCloud
,如果不是,则将UIImageView
完全删除,如果是,则为ImageView
分配一个图像
:
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"];
}
这最初表现得很好,但这也是奇怪的开始。如果所有歌曲都存储在本地,那么一切正常。同样,如果所有歌曲都存储在云中,那么一切都会正常工作。但是如果它是一个组合,那么它最初将正确显示,但是当您向上滚动和向下滚动时,iCloud
图标图像视图开始神奇地消失。仅仅通过玩它,我就能够确定它与滚动有关。每次TableView滚动时,它都会删除一个ImageView
,似乎没有任何原因。关闭“反弹”解决了问题,但这是不和谐的,我更愿意将其保留
有人遇到过这样的行为吗?提前感谢。您的代码来自您的UITableViewCell
子类?
如果是这样的话,您的问题与反弹无关,但问题是UITableViewCell
删除了isCloudIcon
后会重新使用
你应该隐藏它们,而不是删除它们
代码应该是:
if ([[rowItem valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue] == NO) {
isCloudIcon.hidden = YES;
} else if ([[rowItem valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue] == YES) {
isCloudIcon.image = [UIImage imageNamed:@"iCloudIcon.png"];
isCloudIcon.hidden = NO;
}
唉,你显然是对的。这就解决了问题。当然,它打破了我在另一个问题上的变通方法,但这不总是这样吗。。。