在我的主视图中,我有一个页眉(标签)和页脚(按钮)。中间有一张桌子。表格从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/