2012-02-29 3 views
0

쉐이크 마크를 넣으려면 다음 줄을 쓰고 있습니다.셀에 체크 표시를하는 데 문제가 있습니다

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    customersListCell.accessoryType = UITableViewCellAccessoryCheckmark; 
} 

하지만 행을 선택하면 다른 행에 체크 표시가 나타납니다. 스크롤하면 유능한 체크 표시가 사라집니다.

답변

2

그럼 당신이 먼저 올바른 셀에 체크 표시를 적용하고 있는지 확인해야합니다

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    UITableViewCell * cell_to_alter = [tableView cellForRowAtIndexPath:indexPath]; 
    cell_to_alter.accessoryType = UITableViewCellAccessoryCheckmark; 
} 

는 이제 아이폰 OS가 기본 하여 테이블에 세포를 재사용 것을 깨달을 필요가 - 그래서 때 하나의 셀 화면에서 드래그되면 다른 셀 내용을 표시하는 데 사용될 수 있습니다.

cellForRowAtIndexPath : 메서드를 디자인 할 때이 동작을 고려해야합니다. (기본적으로 - 셀에 체크 표시가 있는지 셀에 추가하고 CLEAR) 셀에 셀을 추가하지 않아야합니다.

관련 문제