1

如何在 TableView 中添加或删除视图?

我希望它在 tableView 中没有任何内容时提出“无连接”,但是当有数据时,我只想要一个普通的 tableView。

我检查了很多问题,所有这些问题都以奇怪的方式从单元格中删除视图并在单元格中执行所有操作。但是,我还发现你可以在 Xcode 中将 UIView 拖到 tableView 中,它会随之滚动。

当你这样做,并且你想摆脱视图时,你只需将该视图的 hidden 属性设置为 true。

这里的问题是,曾经有视图的地方有空白。我希望它完全消失而不在那里,但是添加/删除子视图对我不起作用。我也尝试了很多其他解决方案。

4

1 回答 1

1

我发现您可以简单地将视图放入 Xcode 中的存储桶中,但不能放入视图控制器中。(见图)

不在视图控制器中

然后,我发现如果我为此做了一个出口UIView,我仍然可以使用它。请注意,在将视图移到此位置之前,我必须以编程方式或在 IB 中设计视图并使其具有适当的大小等,因为我在 IB 中再也看不到它了。

然后,在TableViewController课堂上,我曾经ViewWillAppear检查过备份 TableView 的数组的计数。如果它为零,我将视图(使用 Outlet)设置为隐藏或不隐藏。

接下来,我使用了这段代码:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (noConnectionView.hidden)
    {
        return 0;
    } else {
        return 480;
    }
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (noConnectionView.hidden)
    {
        return nil;
    } else {
        return noConnectionView;
    }
}

这使它填充了我的弹出框,并且由于 section 方法的单元格数返回了我已经检查过的相同计数(如果表为空,则为零),这是唯一显示的内容(没有空单元格)。

当有东西要显示时,ViewWillAppear每次都会被调用(每当东西被删除时,我都会再次调用view),然后tableView摆脱了标题,它的行为就像一个普通的tableView。

这很棒,因为您可以将它与UITableViewController导航控制器一起使用或按顺序使用。

于 2012-07-17T19:41:18.253 回答