2014-08-28 1 views
0

과 관련된 정말 이상한 문제가 있습니다.UITableview 콘텐츠에 영향을주는 튀는 스크롤?

나는 collection (MPMediaItems)으로 채워진 TableView이 앨범에 있습니다. IB에서는 노래가 클라우드에 저장되어있는 경우 indicator으로 표시하기 위해 UIImageView이 있습니다. TableViewcell가 채워되면, UIImageView이 완전히 제거되지 않은 경우 노래, iCloud 경우 내가 확인하고 그래서 다음 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을 제거합니다. 바운스 기능을 끄면 문제가 해결되지만 반갑지 만 남겨 두는 것이 좋습니다.

아무도 이런 문제가 발생 했습니까? 미리 감사드립니다.

답변

0

코드는 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; 
} 
+0

한숨, 당신은 분명히 정확합니다. 이것은 그것을 해결합니다. 물론 그것은 다른 문제에 대한 나의 해결책을 깨뜨리지 만, 항상 그런 것은 아닙니다 ... –