【发布时间】:2015-05-14 20:58:59
【问题描述】:
我有一个 UITableView,它有一个部分和足够的行,tableView 需要滚动到底部。我想添加一个页脚视图,它会粘在 tableView 的底部并且始终可见,所以我实现了 viewForFooterInSection。这是我的代码:
- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
NSLog(@"Get footer view");
if (tableView == [self tableView]) {
return [self footerRowRightView];
}
else if (tableView == [self fixedColumnTableView]) {
return [self footerRowLeftView];
}
return nil;
}
我遇到的问题是页脚视图仅在 tableView 滚动后显示,但我希望它从一开始就可见(即无论用户滚动与否始终浮动)。
一旦控制器出现并且 tableView 加载其数据,我会在日志中看到“获取页脚视图”,因此我知道 viewForFooterInSection 正在被立即调用。我无法解决的是为什么它没有立即显示,以及如何让它这样做。
提前感谢您的帮助!
【问题讨论】:
-
您是如何创建
footerRowRightView和footerRowLeftView的?如果它们基于 UITableViewCell,则将它们用于页眉和页脚时会出现问题。您必须返回contentView而不是单元格。 -
@RoryMcKinnel - 它们是在 viewDidLoad 期间创建的 UIView。
-
您是否检查过
heightForFooterInSection:最初返回的合理高度? -
@RoryMcKinnel - 我不敢相信。我确实记录了这个以检查他们是否返回了正确的高度,但再次检查后我意识到我愚蠢地实现了 estimatedHeightForFooterInSection:。当我将它们更改为 heightForFooterInSection 的实现时,一旦 tableView 出现,页脚就开始出现。谢谢!!!如果您将此作为答案发布,我会接受。
-
很高兴你被排序。发布了接受的答案。谢谢。
标签: ios objective-c uitableview tableview footer