Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何取消隐藏UITableView部分的动画?_Ios_Objective C_Uitableview_Uisegmentedcontrol - Fatal编程技术网

Ios 如何取消隐藏UITableView部分的动画?

Ios 如何取消隐藏UITableView部分的动画?,ios,objective-c,uitableview,uisegmentedcontrol,Ios,Objective C,Uitableview,Uisegmentedcontrol,在我当前的UITableView中,我有3个不同的部分,每个部分有1个单元格。 在第1节和第2节之间,我有一个带有两个不同段的UISegmentedControl 所以,为了给你们一个想法,想想一个计算应用程序,它需要知道你们使用的单位,是毫克/升,还是磅,等等 例如,我需要使第3节(当然是它的单元格)仅在所选段为2号时显示 If (selectedSegment == 2) { //SOME CODE TO ANIMATE THE SECTION & CELL

在我当前的
UITableView
中,我有3个不同的部分,每个部分有1个单元格。 在第1节和第2节之间,我有一个带有两个不同段的
UISegmentedControl

所以,为了给你们一个想法,想想一个计算应用程序,它需要知道你们使用的单位,是毫克/升,还是磅,等等

例如,我需要使第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)


谢谢你们的帮助,伙计们

为了让您开始,这是如何让它工作的一般想法。你可能需要为你的应用程序稍微调整一下代码

首先编辑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];
    }
}