在我当前的 UITableView
中,我有 3 个不同的部分,每个部分有 1 个单元格。
在第 1 部分和第 2 部分之间,我有一个包含两个不同段的 UISegmentedControl。
因此,为了给大家一个想法,想象一个计算应用程序,它需要知道您使用的单位,是毫克/升还是磅等......
仅当所选段为第 2 号段时,我才需要使第 3 节(当然也是单元格)出现。
If (selectedSegment == 2)
{
//SOME CODE TO ANIMATE THE SECTION & CELL IN & OUT IF USER CHANGES SELECTION IN THE SEGMENTED CONTROL.
}
我正在尝试实现与您尝试在 iOS 中编辑通讯录中的联系人时看到的相同结果。通过按编辑按钮,您将获得一个漂亮的动画,该动画继续显示其他部分。完成后,动画会很好地带走附加部分(在我的例子中,以防万一用户选择了第 2 部分,后来又改变主意并返回到第 2 部分)。
谢谢各位的帮助!
最佳答案
为了帮助您入门,这是如何让它发挥作用的总体思路。您可能需要为您的应用稍微调整代码。
首先编辑您的 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];
}
}
关于ios - 如何取消隐藏 UITableView 部分的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17708650/