2011-04-28 5 views
1

세 개의 섹션이있는 테이블보기가 있습니다. 첫 번째 섹션에는 각 셀에 3 개의 UIButton이있는 사용자 정의 셀이 있습니다. 내용이 동적이므로 얼마나 많은 행이나 버튼이 있는지 알지 못합니다.TableView에서 UIButtons 사용/사용 안 함

이 첫 번째 섹션에서 모든 UIButtons를 사용하지 않도록 설정 한 다음 사용 설정하는 다른 버튼을 비활성화하는 메서드를 만들고 싶습니다. 나는 UIButton을 동적으로 생성하기 때문에 UIButton을 합성하지 않을 것이므로 특정 UIButton을 참조 할 수 없습니다. 모든 UIButtons를 비활성화하고 활성화하려면 어떻게합니까? 그게 도움이된다면 UIButtons의 태그를 압니다. 태그는 indexPath.row와 같습니다.

if (indexPath.section == 0) 
{ 
    UITableViewCell *cellView = [tblView cellForRowAtIndexPath:indexPath]; 

    for (UIView *view in cellView.subviews) 
    { 
     if ([view isKindOfClass:[UIButton class]]) 
     { 
      UIButton *button = (UIButton*)view; 
      [button setUserInteractionEnabled:TRUE]; 
     } 
    } 
} 

답변

4

당신은 그것을 할 수 있습니다 감사합니다. 하나의 간단한 옵션은 버튼의 활성화 또는 비활성화 여부를 나타내는 속성을 설정 한 다음 [self.tableView reloadData];을 호출하는 것입니다. 그런 다음 cellForRowAtIndexPath 메서드를 변경하여 각 버튼의 enabled 속성을 이전에 저장 한 속성 (활성화/비활성화)으로 설정합니다.

+1

고마워요! 그건 완벽합니다! –

0

가이 작업을 수행하는 여러 가지 방법이 있습니다 -

는로있는 UITableViewCell의 하위 뷰를 얻어서 사전에 에반