2013-07-17 2 views
0

현재 내 UITableView에는 3 개의 섹션이 있으며, 각 섹션에는 1 개의 셀이 있습니다. 섹션 1과 섹션 2 사이에는 두 개의 세그먼트가있는 UISegmentedControl이 있습니다. 그래서 UITableView 섹션의 애니메이션을 숨기기 해제하는 방법은 무엇입니까?

내가 필요 ... 그/ℓ, 또는 파운드의 등 mg의 수 어떠했는지, 당신이 사용하는 어떤 장치를 알 필요가 계산 앱의 생각들 당신에게 아이디어를 제공합니다 섹션 # 3 (& 물론 그것의 셀)을 만들려면 선택한 세그먼트가 예를 들어 2 번인 경우에만 나타납니다.

If (selectedSegment == 2) 
    { 
     //SOME CODE TO ANIMATE THE SECTION & CELL IN & OUT IF USER CHANGES SELECTION IN THE SEGMENTED CONTROL. 
    } 

iOS의 연락처 북에서 연락처를 편집하려고 할 때와 동일한 결과를 얻으려고합니다. 편집 버튼을 누르면 추가 섹션을 표시하는 좋은 애니메이션을 얻을 수 있습니다. 완료되면 애니메이션은 추가 섹션을 멀리 가져옵니다 (내 경우에는 사용자가 세그먼트 2를 선택한 후 나중에 마음을 바꿔 세그먼트 2로 돌아간 경우를 대비하여).

도움 주셔서 감사합니다.

답변

1

시작하려면이 방법을 사용하는 것이 좋습니다. 앱의 코드를 약간 조정해야 할 수도 있습니다.

먼저 편집하여 numberOfSections은 다음과 같이 보일 수 있습니다 :

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 

    BOOL isSegment2Selected = self.segmentedControl.selectedSegmentIndex == 1; 

    if (isSegment2Selected) { 

     return 3; 

    } else { 

     return 2; 
    } 

} 

를 그런 방법으로 segmentedControl이 도청 될 때 트리거 가도록 :

- (void)segmentedControlTapped:(UISegmentedControl *)sender { 

    BOOL isSegment2Selected = self.segmentedControl.selectedSegmentIndex == 1; 

    if (isSegment2Selected) { 

     [self.tableView insertSections:[NSIndexSet indexSetWithIndex:2] withRowAnimation:UITableViewRowAnimationFade]; 

    } else { 

     [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:2] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
} 
관련 문제