2013-07-17 37 views
0

在我目前的UITableView我有3個不同的部分,每個部分有1個單元格。 在第1部分和第2部分之間,我有一個UISegmentedControl有兩個不同的部分。如何取消隱藏UITableView部分的動畫效果?

所以給你們一個想法,認爲計算應用,需要知道你使用的是哪個單位的,那閹是毫克/升,或磅的,等等

我需要使部分#3(&當然是單元格)僅在所選片段爲no.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]; 
    } 
}