2009-11-13 4 views
1

UITableView 행의 "선택 가능성"을 비활성화하는 방법이 있습니까?iPhone 테이블 행 사용 안 함

예 : 특정 스타일리스트와 특정 시간에 이발을 예약하고 싶습니다. 사용자에게 표시되는 것은 30 분 단위로 시간의 목록이지만 사용할 수없는 시간은 회색으로 표시되거나 선택할 수 없습니다.

답변

6

예, UITableViewCellSelectionStyleNone으로 선택할 수없는 셀의 경우 selectionStyle을 설정하십시오.

셀에 reuseIdentifier을 사용하는 경우 셀의 선택을 UITableViewCellSelectionStyleBlue으로 설정해야합니다.

UITableViewCellSelectionStyleNone 스타일의 셀이 무시되도록 didSelectRowAtIndexPath을 다시 정의해야합니다.

+1

파란색 (기본값)에서 none으로 도청했을 때 셀의 색상이 변경됩니다 - 여전히 didSelectRowAtIndexPath 메소드에서 탭을 필터링해야하며 행을 회색으로 표시하려면, cellForRowAtIndexPath 메서드에서 배경 및/또는 글꼴 색을 변경하거나 셀 내용 위에 반투명보기를 추가하여 처리해야합니다. – jasondoucette

+0

정확히 어떻게 탭을 필터링하여 didSelectRowAtIndexPath 비활성화 된 행을 누르면 동작이 시작되지 않습니까? – rson

+1

어떻게 설정 했느냐에 따라 다르지만, didSelectRowAtIndexPath 내부에서 테이블 섹션 ([indexPath 섹션])과 행 ([indexPath 행])을 알게되고 거기에서 당신의 위치에 매핑 할 수 있습니다 app 데이터를 사용하여 행이 활성화되어 있는지 확인합니다 (어떤 경우에도 작업을 수행 할 것임) 또는 비활성화합니다 (이 경우에는 아무 것도하지 않습니다) – jasondoucette

0

는 구현 :

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

읽기 전용해야 행이 방법의 내부에 아무것도하지 않습니다.

+0

이것은 여전히 ​​탭 된 행을 강조 표시합니다. 내 대답과 같이 스타일을 설정해야합니다. –