2012-03-19 2 views
2

나는 간단한 질문이있다 - 나는 어떤 세포를 UITableView로부터 숨길 필요가있다. heightForRowAtIndexPath : 여기 내 구현 : 그 대리자 메서드 있는 tableView이었다 무엇을 발견 테이블 뷰에서 특정 셀을 완전히 숨기는 방법은 무엇입니까?

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(indexPath.section == 0) 
     return 0; 
    return 45;  
} 

불행하게도 이것은 '테크 셀 라인으로 축소되고 난 정말 이해할 수 없다하지 않는 것 진행되고있다. 도움을 주시면 대단히 감사하겠습니다. 감사합니다.

+0

숨기기 또는 전체 제거? – Narayana

+1

왜 데이터 소스를 적절하게 업데이트하지 않으시겠습니까? – Bourne

+0

그 줄은 아마도 구분자입니다. 'tableView'의'separatorStyle'을'UITableViewCellSeparatorStyleNone'으로 설정하십시오. –

답변

0

cellForRowAtIndexPath: 방법을 통해 업데이트해야합니다.

1

데이터 소스에서 항목을 제거하면 올바른 셀 항목을 제거하는 올바른 방법입니다. (cell.hidden=YES;을 설정하려고하면 줄 구분 기호가있는 셀 대신 공백이 생기고 셀 높이를 0으로 설정하여 제거 할 수 없음

+0

답장을 보내 주셔서 감사합니다. 실제로 저에게 도움이되는 데이터 소스를 업데이트하는 매우 간단한 솔루션을 발견했습니다. – e2l3n

+2

참고로 tableView : heightForRowAtIndexPath를 사용할 수 있습니다. 이렇게하면 공간을 없애기 위해 0을 반환 할 수 있습니다 (즉, 정적 tableView의 경우 데이터 소스를 변경할 수 없음). – lnafziger

2

셀의 높이를 0으로 설정해야합니다 tableView:heightForRowAtIndexPath: 메서드에서 셀을 숨기고 hidden 속성을 통해 셀을 숨 깁니다. 사용자 상호 작용 후에이 효과를 원할 경우 reloadData을 통해 표를 다시로드해야합니다.

관련 문제