2013-10-07 14 views
2

데이터로 UITableViewController을 채우고 생성 된 셀 중 일부를 비활성화해야하고 다른 일부에는 세부 액세서리 버튼이 있어야합니다. 내가해야 할 일은 세부 액세서리 (선택)가있는 부품을 비활성화하는 것입니다. 그러나 세부 정보 버튼을 활성 상태로 유지하여 정보를 얻으십시오.셀은 비활성화하지만 세부 액세서리는 그대로 두십시오.

답변

1

모바일 테스트에서 제공하는 답변을 확대하여 비슷한 결과를 보았습니다.

는 난 각 셀에 지정 버튼을 생성 UITableViewControllerDelegate 방법

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

에 부속

cell.accessoryType = UITableViewCellAccessoryNone; 
cell.selectionStyle = UITableViewCellSelectionStyleNone; 

대해 개시 지시자 유형 세포를 만들었다. 어떤 셀의 어떤 버튼이 정확히 선택되었는지를 알기 위해이 answer이 나를 도왔습니다.

셀의 셀렉션을 변경하지 않도록 선택할 수 있지만 앱이 더보기 좋게 보이고 셀에 셀을 선택하라는 제안이 표시되지 않으므로 더 쉽게 만들 수 있습니다. 사용자의 유용성 측면에서.


또는, 당신은 셀이 선택받을 수있는 방법

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

에 체크를하고, 셀의 accessoryType을 확인하고 논리를 배치 할 수 있습니다.

UITableViewCell *cell = (UITableViewCell *)[(UITableView *)self.view cellForRowAtIndexPath:indexPath]; 
if (cell.accessoryType == UITableViewCellAccessoryDisclosureIndicator) 
{ 
//Your logic here 
} 

는하지만 이것은 전체 셀 (선택한 경우 공시 버튼이 작동하지 않습니다하지 않은 경우) 선택 가능하게되는 것을 의미하며,이 경우에 당신이 당신의 공개 버튼을 사용자 정의 할 수 있다는 것을 의미합니다. 또한 전체 셀을 선택할 수 있기 때문에 사용자가 셀을 클릭하는 동안 로직이 실행되기 때문에 질문에서 판단 할 때 원하는 기능처럼 들리지는 않지만 잘못된 것일 수 있습니다. :)

어떤 작품인지 확인해보세요. 희망이 도움이!

0

일부 행에서 세부 액세서리 버튼을 숨기거나 세부 액세서리 버튼이없는 기능을 비활성화 하시겠습니까? 기능을 사용하지 않으려면 didSelectRowAtIndexPath에 코드를 넣을 수 있습니다. 세부 액세서리 버튼이 있는지 확인한 다음 아무것도없는 경우 선택하십시오.

관련 문제