2016-10-15 5 views
0

테이블 뷰 셀의 액세서리보기를 사용자 정의 유형 이미지로 설정하고 시뮬레이터에서 실행하려고하면 현재 여러 셀에 액세서리보기 이미지가있는 것을 볼 수 있습니다 선택된. 그러나 액세서리 뷰를 "cell.accessoryType = UITableViewCellAccessoryCheckmark;"로 설정하면이 문제가 발생하지 않습니다. 여기에 코드가 있습니다.목표 C 셀 액세서리보기

id item = [_items objectAtIndex:row]; 

if ([_currentVale isKindOfClass:[NSString class]]) 
{ 
    if ([item isEqualToString:_currentVale]) 
    { 

     UIImageView *checkmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"checkmark-outline.png"]]; 
     checkmark.frame = CGRectMake(0, 0, 20, 20); 
     cell.accessoryView = checkmark; 
    } 
    else 
    { 
     cell.accessoryType = UITableViewCellAccessoryNone; 
    } 
} 
else if ([_currentVale isKindOfClass:[NSNumber class]]) 
{ 
    if ([item isEqualToNumber:_currentVale]) 
    { 
     cell.accessoryType = UITableViewCellAccessoryNone; 

    } 
    else 
    { 
     cell.accessoryType = UITableViewCellAccessoryNone; 


    } 
} 

내가 말하는 것에 대해 두 가지 이미지가 있습니다. 단 하나 개의 값이 선택기에 선택하지만 셀 재사용되고있는 체크

Image 1

Image 2

답변

0

나타내는 두 존재한다. 액세서리 뷰를 else 내에서 nil로 설정해야합니다.

당신이 이미지를 표시하지 않으 셀에서
else 
    { 
     cell.accessoryType = UITableViewCellAccessoryNone; 
     cell.accessoryView = nil; 
    } 
0

설정하는 것을 잊지 마세요

cell.accessoryView = nil;