在我目前的UITableView
我有3个不同的部分,每个部分有1个单元格。
在第1节和第2节之间,我有一个UISegmentedControl
,有两个不同的段。
所以为了给你们一个想法,想想一个计算应用程序,需要知道你正在使用哪个单位,那就是mg / l,或lb's等......
我需要制作第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段)。
感谢您的帮助!
答案 0 :(得分: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];
}
}