2015-01-26 2 views
0

안녕하세요 사용자 정의 cell.My 셀에 테이블보기를 사용하고있는 작은 IOS 응용 프로그램을 개발 중입니다 내 안에 하나의 텍스트와 하나의 이미지가 있습니다. 일부 셀 이미지에 대한 간단한보기가 포함되어 있습니다. 거기에 그리고 거기에 어떤 세포에 대한. 그래서 저는 그것을 동적으로 추가하고 제거하고 있습니다. 그것은 바로 출력을 보여주는하지만 스크롤하고 다시 동일한 셀에 와서 일단은 어 이미지가 올바른 출력을 보여주는 방법을 위의 경우IOS uitableviewcell 스크롤하는 동안 셀의 내용을 변경

MediaContentCell *cell = (MediaContentCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 

if (cell == nil) { 
    cell = (MediaContentCell *)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; 
} 

[self setVideoCell:cell withIndex:indexPath.row]; 
[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

-(void) setVideoCell:(MediaContentCell *)cell withIndex:(int)index 
{ 
if(videoData.trailer) 
{ 
    cell.playButton.hidden = NO; 
} 
else 
{ 
    //  [cell.playButton removeFromSuperview]; 

    cell.playButton.hidden = YES; 

    // adding new contraints .... 
     [cell.contentDescription addConstraint:[NSLayoutConstraint constraintWithItem:cell.mediaTitle attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:cell.contentDescription attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:-10]]; 

     [cell.contentDescription addConstraint:[NSLayoutConstraint constraintWithItem:cell.mediaSubtitle attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:cell.contentDescription attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:-10]]; 
} 
} 

다음에 그것을 시도한다는 제거합니다. 하지만 위아래로 스크롤하면 출력이 변경됩니다. 해결 방법이 문제를 해결하십시오. 나는 이미지가있는 정확한 세포를 원하고, 다른 것들은 이미지하지 않을 것이다. 도움이 필요해. 고맙습니다.

+0

videoData의 출처는 어디입니까? –

+0

비디오 데이터가 내 데이터 개체입니다. 그것은 내 데이터를 포함하고 있지 않습니다. – nilkash

답변

1

cell.playButton을 모두 hidden으로 설정하면 videoData.trailer이 false를 반환합니다. setVideoCell:withIndex:index을 사용하고 있지 않습니다.

셀이 표시 될 때마다 제약 조건이 추가되어 많은 제약이 중복됩니다. 제약 조건은 MediaContentCellinit 또는 awakeFromNib 방법 안에 한 번 설정해야합니다.

+0

빨리 재생 해 주셔서 감사합니다. 나는 당신의 해결책을 시도하고 당신에게 알려줄 것입니다. 스토리 보드에 제약 조건을 설정했습니다. 그러나 일단 버튼을 숨기면 일부 텍스트가있는 공간을 사용하고 싶습니다. 그 이유는 내가 이미지를 숨기고있을 때만 그 이미지를 추가하는 이유입니다. – nilkash

+0

그래도 어디에서나 제거 할 수 있습니다! 매번 새로운 것을 추가하는 것입니다. – Armin

+0

그게 나를 위해 작동하지 않습니다. – nilkash

1

위의 코드를 비동기식으로 호출하고 있습니까? 나는 당신의 동일한 문제점을 가지고 있었고, dispatch_async 호출 (비동기 일 필요는 없다)에서 그것을 제거함으로써 그것을 고쳤다.

관련 문제