1

我有一个带有静态单元格的 UITableViewController,有 3 个部分,以及一个带有 2 个按钮的分段控件。我想实现以下行为:

  • 当按下按钮 1 时隐藏第 2 部分
  • 当按下按钮 2 时隐藏第 3 部分

我找不到解决方案。任何提示都是有用的。谢谢。

4

1 回答 1

1

很简单,只需确保设置了 UITableViewDelegate,并且可以使用 heightForRowAtIndexPath:(页眉和页脚类似)通过将单元格的高度设置为 0 来显示/隐藏单元格。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 2) {
        if (self.shouldShowSection2) {
            return 44.0f;
        }else{
            return 0.0f;
        }
    }else if (indexPath.section == 3) {
        if (self.shouldShowSection3) {
            return 44.0f;
        }else{
            return 0.0f;
        }
    }else{
        return 44.0f;
    }
}

然后只需在您的 IBAction 中定义一些逻辑,以在 tableview 的开始/结束更新之间更改这些 BOOL,表格将显示/隐藏您想要的部分。

- (IBAction)toggleSegment:(UISegmentedControl *)sender
{
    [self.tableView beginUpdates];
    //  change boolean conditions for what to show/hide
    [self.tableView endUpdates];
}
于 2013-08-12T19:32:01.613 回答