25

我有一个带有页脚的 UITableView,在自定义视图中填充了一个 tabBar,使用以下代码完成:

- (CGFloat)tableView:(UITableView *)tableView
heightForFooterInSection:(NSInteger)section {
    //differ between your sections or if you
    //have only on section return a static value
    return 49;
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {

    if(footerView == nil) {
        //allocate the view if it doesn't exist yet
        footerView  = [[UIView alloc] init];
        [footerView addSubview:self.tabBarView];
    }

    //return the view for the footer
    return footerView;
}

这很好用,除了当表格的行数少于填充屏幕所需的行数时,这会导致页脚在屏幕上向上移动,因为表格不再创建空行,因为有页脚。

那么,有没有人知道将自定义页脚锁定到屏幕底部的方法,或者让 tableView 像以前一样创建空行?

谢谢!

加雷斯

4

2 回答 2

4

不幸的是,除了一些视图层次技巧之外,我认为没有简单的方法可以做到这一点。当 UITableView 的 contentSize 小于框架大小时,您将页脚视图分配给 self.view 并手动定位。当你的 UITableView 的 contentSize 大于框架大小时,你使用 viewForFooterInSection。如果不清楚,或者您想查看一些有关如何执行此操作的示例代码,请告诉我。

于 2013-08-04T21:30:15.363 回答
1

我对 uitableview 控制器有同样的问题,我通过在窗口中添加视图并在 viewWillDisappear 中删除这个对象来解决这个问题。

我的解决方案链接

于 2014-10-30T09:00:20.537 回答