2014-11-21 77 views
0

我有一个故事板我保持这是一个UITableViewController用原型单元格从UITableView中删除一个静态UIView

UITableView设置为使用动态原型并具有2个单元格。

在这两个单元格的上方插入一个UIView表格视图。该视图包含UIButton和另一个自定义UIView。两者都有限制。效果是我们有一个表格视图,上面有一个按钮。

现在,在某些情况下,我们希望删除该按钮并让表格视图的其余部分在UI中向上移动。我可以删除该按钮 - 本身或通过删除该父母UIView,但我似乎无法得到该表来更改原型单元格的位置。

怀着希望说清楚,我的文档大纲如下:

  • 表视图
    • 视图(buttonContainerView下面提到)
      • 的UIButton
      • 视图(子视图下面提到)
      • 限制条件
    • 原型小区1
    • 原型小区2

我曾尝试几种不同的方法,以除去按钮。阅读后,从超级视图中移除它也会消除约束,这就是我现在使用的方法。

[self.buttonContainerView removeFromSuperview]; 

我试过删除按钮,子视图和容器视图。我也尝试明确地删除约束,然后删除视图。这些似乎都没有工作。

我也尝试了上面的调用setNeedsLayout和setNeedsUpdateConstraints对表视图,以及视图上的setNeedsDisplay。

我也尝试将行高设置为0为第一个视图,但事实证明它不是UITableViewCell,所以这也不起作用。

当然,如果我从故事板中删除该容器视图,那么原型单元格确实会出现在UI中他们应该在的位置。

你能感觉到眩晕吗?

我还有什么可以在这里丢失,有效地删除顶部视图?

+0

经过一天的思考,我倾向于将该子UIView(buttonContainerView)转换为原型单元格,并处理tableView:heightForRowAtIndexPath + tableView:cellForRowAtIndexPath中的隐藏状态。 – Mattio 2014-11-23 02:02:34

回答

1

我没有意识到的是我的设置是带有表头的UITableView。要删除它并修复间距问题,我只需要在viewWillAppear:中设置self.tableView.tableHeaderView = nil

相关问题