如何使用静态单元格隐藏表格视图控制器中的部分?

时间:2013-08-12 19:25:02

标签: objective-c uitableview

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

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

我无法找到解决方案。 任何提示都很有用。 感谢。

1 个答案:

答案 0 :(得分:0)

简单,只需确保设置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];
}