在我的主视图中,我有一个页眉(标签)和页脚(按钮)。中间有一张桌子。表格从MutableArray中获取数据,因此表格项的数量每次都不同。

在表格的前后,我有一些垂直空间(由约束设置),因为我想在页眉/页脚和表格之间有一些空间。因此,现在表格分布在整个“中间”部分。还行吧。

我想要实现的是,我不想将其分布在整个中间部分。我希望表格根据其内容调整大小。如果一个表只有一行,我想显示一行而没有空行。我尝试了这个:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

     int count = accController.connectedAccessories.count;

     [tableView setContentSize:CGSizeMake(tableView.contentSize.width, tableView.rowHeight * count)];
     return count;
}

但这是行不通的。如果我在setContentSize之后添加此行:
tableView.frame = CGRectMake(tableView.frame.origin.x, tableView.frame.origin.y, tableView.frame.size.width, tableView.contentSize.height);

这行得通,但是如果我有很多项目,约束就会被打破并且表格会超出页脚。任何想法如何做到这一点?谢谢

编辑:此页眉和页脚不是表的一部分。我只是将标签(我称其为页眉)和按钮(页脚)放入主视图。在他们之间我放了一张桌子。就我的目的而言,它看起来更好。我称之为页眉和页脚,但它们是主视图的页眉/页脚,而不是表格...

最佳答案

传递空白视图,因为viewForFooterInSection可以帮助您。

尝试这个 - -

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    UIView *view=[[UIView alloc] init];
    return view;
}

关于ios - UITableView动态大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18013160/

10-14 19:59
查看更多