2009-10-23 5 views
0

기본 Xcode 템플릿을 사용하여 UItableView를 만들고 5 행을 표시하도록 구성했습니다. 표에서 첫 번째 셀을 선택합니다. 다른 셀을 선택하면 두 번째 셀에서 내 손가락을 제거 할 때까지 첫 번째 셀을 선택 상태로 유지합니다.UITableView는 두 셀이 동시에 스타일을 선택하도록 허용합니다.

샘플 : http://img190.imageshack.us/img190/7184/cellsz.jpg

내가 셀을하지 터치 제거에 터치에서 선택 될 싶어요. 그물 및 사과 설명서에서 검색했지만 사용자가 선택 화면을 터치 할 때 호출되는 메서드를 찾지 못했습니다.

누구에 대한 정보가 있습니까?

+0

중복 : http://stackoverflow.com/questions/308081/is-it-possible-to-confugure-a-uitableview-to-allow-multiple-selection – rein

답변

2

마지막으로이 두 가지 선택 효과를 억제하는 데 성공했습니다.

시스템이 내부 위로 터치 업 이벤트를 감지하면 셀이 선택됩니다. 셀을 선택하기 전에 셀이 강조 표시된 상태가됩니다.

이 문제를 해결하려면 사용자 지정 UITableViewCell에서 - (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated 메서드를 재정의하고이 메서드에서 아무 것도 수행하지 않아야합니다.

이렇게하면 표에는 두 개의 선택된 스타일 셀이 동시에 존재하지 않습니다. 이에 변경 세포의 선택에 내 첫 번째 요청을 해결하지 않는 편집

이 솔루션은 나를 위해 한 정도로,하지만 후

인용 대신 "터치 아웃"이벤트의 이벤트 "에 터치".

음 ... 나는 이것이 불가능하다고 생각합니다. 이 옵션을 사용하면 테이블 뷰에서 스크롤 할 때 셀을 선택할 수 있습니다.

1

귀하의 질문에 대한 답변을 모르겠지만 제안이 있습니다.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

대의원 인증 방법을 사용하면 선택한 행을 표시 할 수 있습니다. 그런 다음 [tableView deselectRowAtIndexPath:indexPath]으로 전화하십시오.

+0

음 ... 나는 분명치 않다. 사과드립니다. 실제로 내 경우에는 항상 선택된 셀 하나가 있습니다. 셀을 선택하면 두 번째 셀이 선택한 스타일을 갖지만 선택되지는 않습니다. 이 메서드는 이미 시도했지만 셀을 터치하고있을 때 손가락을 셀에서 제거 할 때가 아니라 didSelectRowAtIndexPath가 호출됩니다. 스크린 샷을 추가하여 어떻게 보이는지 보여줍니다. http://img190.imageshack.us/img190/7184/cellsz.jpg – HiroKenshin

+0

내가 선택한 행에 표시 만하면 accessoryType을 예를 들어 UITableViewCellAccessoryTypeCheckmark로 변경하고 해당 델리게이트 메소드에서 deselectRow를 호출 할 수 있습니다. – Morion

0

여러 행을 선택하기위한 프레임 워크 제공 솔루션이 없습니다. Morion은 체크 표시로이를 수행하는 좋은 방법이 있습니다. Matt Gallagher가 작성한 this 기사를보고 자신이 원하는 것을 구현할 수도 있습니다.

+0

다중 셀 선택을 원하지 않습니다. 나는 분명히 사과하지 않았다. 동시에 두 개의 셀이 선택한 스타일을 사용하지 않도록하고 싶습니다. 이 응용 프로그램을 진짜 나쁜 모습을 제공합니다. 내 게시물에 추가 한 스크린 샷을보세요. – HiroKenshin

관련 문제