2012-04-27 3 views
2

2 개의 섹션이있는 그룹화 된 테이블 뷰가 있습니다. 섹션 번호 1은 숨겨지며 섹션 헤더를 탭하면 섹션이 열립니다. 그러나 섹션 1의 셀을 탭하여 뷰를 열려면 두 번 탭하여 열어야합니다. 하지만 섹션 0에서는 1 탭 만 필요합니다. Apple 튜토리얼에서 공개/닫기 섹션을 기반으로합니다.오픈 뷰를 위해 uitableviewcell을 두 번 탭해야합니다.

didSelectRowAtIndexPath 메서드는 셀에서 첫 번째 탭을 등록하지 않습니다.

방법은 다음과 같은 :

-(void)tableview:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath{ 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    if(indexPath.section == 0 && indexPath.row == 0) 
     [self.navigationController pushViewController:trainingController animated:YES]; 
    else if(indexPath.section == 1 && indexPath.row ==0) 
     [self.navigationController pushViewController:newsController animated:YES]; 
} 

이 의사이기 때문에 작동 코드를하지 않을 수 있습니다.

답변

0

양쪽 섹션을 숨기면 두 섹션 모두에서 1 개의 탭으로 작동합니다. 따라서 uitableview에서 섹션의 일부를 숨기려면 모든 것을 숨기는 것이 좋습니다. 그렇지 않으면 섹션과 다른 상호 작용이 생깁니다.

0

질문이 명확하지 않습니다. "didSelectRowAtIndexPath 메서드가 셀에서 첫 번째 탭을 등록하지 않았습니다"가 등록되지 않았습니다. 프로토콜 상속 및 yourTableview.delegate = self 설정;

+0

메소드가 섹션 0의 첫 번째 탭에서 반응하고 섹션 1의 두 번째 탭에서 논리적 인 경우 논리적 인 것은 분명합니다. 어쨌든,이 클래스는 UIViewController가 아니라 UITableViewController를 상속받습니다. – lagos