2011-08-10 9 views
4

다른 섹션의 UITableViewCell에 항목 목록을 표시하고 있습니다. 나는 내 문제는 내가 viewForFooterInSection 매번 보여주고 싶은 해달라고입니다didSelectRowAtIndexPath 대리자의 viewForFooterInSection 새로 고침

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 

이제 viewForFooterInSection 대리자의 UITextField를 만들었습니다. 해당 섹션에 대해 didSelectRowAtIndexPath를 클릭 할 때까지 nil/hidden이어야합니다. 그리고 UITextField는 해당 섹션에만 표시되어야합니다.

클릭하면 footerView를 다시로드하는 방법이 혼란 스럽습니까?

답변

5

섹션을 다시로드하기 만하면 바닥 글보기를 다시로드 할 수 있습니다. 당신은 부울 변수를 유지하고 그에 따라 무기 호 또는 바닥 글보기를 반환 할 수 있습니다이 호출 후

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationNone]; 

, - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 안타 다시.

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 
    if(conditionSatisfied) 
     return myFooterView; 
    return nil; 
} 

HTH,

하기 Akshay 섹션을 다시로드

+2

은 특별히 다른되었을 수있는 다른 애니메이션을 내리 쳤을 때. 나는 이것이 존재한다는 어떤 징조도 보지 못했지만, reloadSectionFooter 메소드는 갈 길일 것입니다. –

1

가장 간단한 대답은 [tableView reloadData]입니다. 이것은 어떤 종류의 애니메이션도 제공하지 않지만,이 경우 애니메이션을 지원하는 명목상의 쉬운 방법은 생각할 수 없습니다. 꼬리말처럼 보이는 부분의 하단에 행을 삽입하는 것이 가능할 수도 있지만, 그 문제는 내가 다루고 싶지 않은 또 다른 문제가 있습니다.

편집는 :

[tableView reloadSections:withRowAnimation:] : 그냥 가능성이 약간 더 나은 옵션을 발견했다. 꼬리말에 애니메이션 효과를 줄 것인지, 아니면 데이터 제공 업체에게 쿼리를 작성할지 여부는 잘 모르겠지만 한 번 해보는 것이 좋습니다.

관련 문제