2011-04-29 2 views
0

UITableView에서 하나의 셀을 켜기/끄기 동작으로 만들 수 있습니까? 기본적으로 셀을 클릭하면 녹색으로 바뀌고 원하는 셀이됩니다. 그것은 다른 viewController 또는 아무것도 이동하지 않습니다. 그런 다음 동일한 셀을 다시 클릭하면 동일한보기에서 녹색이 사라지고 이전 색 상태로 돌아갑니다.동일한 셀에서 UITableView의 셀 켜기/끄기 동일한 뷰에서

이것은 내 didSelectRowAtIndexPath 얼마나

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row]; 
    [self setCurrentPhrase:selectedPhrase]; 
} 

이 쉬운 질문처럼 보인다입니다. 내가 [tableView deselectRowAtIndexPath:indexPath animated:YES];에 들러 보낼 수 있다는 것을 안다. 그러나 그것을 클릭하자마자 바로 그 부분이 강조되지 않게된다.

감사합니다.

아론은

답변

1

당신은 당신이 선택에 UITableViewCell의 배경 색상을 변경할 수 있습니다, 그래서 당신은 배경을 채우기 위해 무엇을 말할 것이다 BOOL을 사용할 수있다 (여부를 그린하거나 투명 색상). 당신이 참조 코드로

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath 

를 사용하여 아래의 아래의 방법을 통해 세포

액세스 할 수 있습니다.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row]; 
    [self setCurrentPhrase:selectedPhrase]; 

     MyCutsomCell* myCell= (MyCutsomCell*)[tableView cellForRowAtIndexPath:indexPath]; 
     if(myCell.isGreen) 
     { 
     //Change backgroundColor to Green 
     } 
     else 
     { 
     //Clear backgroundColor 
     } 

     myCell.isGreen = !myCell.isGreen; 
} 
+0

이것은 좋은 제안이었습니다. 감사! – Aaron