2012-01-28 5 views
0

편집 모드에있을 때 섹션 헤더를 내 tableview에 추가하려고합니다. 기본적으로 나는 그것이 테이블의 나머지 부분과 동일한 모양을 갖는 데이터 소스의 일부가되기를 원할 것이다. 그러나 데이터 소스에 객체 ("연락처 추가")를 삽입하면 편집 모드에서 전환 할 때 마이크로 관리가 많이 발생하며 실제로 데이터 소스의 일부가 아니므로 더 많은 헤더가됩니다.iOS - 그룹화 된 테이블의 UITableView 섹션 헤더 부분

동일한 효과를 얻기 위해 다음 코드 스 니펫을 사용해 보았지만 오른쪽으로 나오지 않았습니다. (연락처 추가 텍스트를 추가하여 섹션의 꼭대기에 앉아 있지만 그룹화 된 테이블 셀로는 포함하지 않았습니다) .

누구나 내가 실종 된 것에 대한 단서가 있습니까?

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)]; 

    if (section == 1) { 

     UITableViewCell *addContactCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 

     addContactCell.textLabel.text = @"Add Contact"; 
     addContactCell.textLabel.opaque = NO; 

     return addContactCell; 

    } else { 

     return nil; 
    } 

} 
당신은 데이터 소스에 '추가 연락'행을 추가 할 필요가 없습니다

enter image description here

답변

0

. numberOfRowsInSection과 cellForIndexPath : 메소드에 거짓말을하면됩니다.

있는 tableView : numberOfRowsInSection는 : cellForIndexPath : 행 + 1

있는 tableView가의 수를 반환해야 행 번호는 0이고, 그렇지 않으면 indexPath.row에 대한 데이터 셀을 반환하는 경우 삽입 셀을 반환합니다 - 1.

didSelect 등에서 약간의 추가 작업을해야하지만 많은 미세 관리가 필요하지 않습니다.

관련 문제