滚动表格视图时,自定义UITableView页脚不会锁定在底部

use*_*693 6 cocoa-touch objective-c uitableview ios

我检查了所有这些 UITableView,让页脚停留在屏幕的底部?

tableFooterView属性不会修复表视图底部的页脚

iOS - viewForFooterInSection坚持UITableView的底部

在UITableView中实现页脚的正确方法

类似的问题,但不幸的是我的问题没有解决.

我必须使用里面的按钮实现自定义页眉和页脚视图.我用.nib文件创建了单独的UIView的子类.在我的视图控制器中,我正在调用这些方法来为页眉和页脚视图注册nib.

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    CustomTableHeaderView *view = [CustomTableHeaderView header];
    view.delegate = self; //setting delegate to receive callbacks as the buttons inside the view are pressed
    return view;
}

- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    CustomTableFooterView *view = [CustomTableFooterView footer];
    view.delegate = self;
    return view;
}
Run Code Online (Sandbox Code Playgroud)

自定义视图中的类方法注册.nib文件并返回视图的位置.然而,实施是;

+ (CustomTableHeaderView*)header
{
    return [[[NSBundle mainBundle]loadNibNamed:@"CustomTableHeaderView" owner:nil options:nil]objectAtIndex:0];
}
Run Code Online (Sandbox Code Playgroud)

页脚的类似实现.

问题是当表格视图滚动时,页脚视图不会锁定在底部.也就是说,当视图内部有更多行时,页脚视图会隐藏,并在所有行向下滚动直到结束时显示.我想锁定视图底部的页脚视图,无论有多少行可以滚动.标题视图已完全由此实现实现,因为在滚动行时它被锁定在顶部,但页脚视图随行滚动.

我也试过了self.tableview.tablefooterview属性,但它也没有帮助.

Dim*_*ima 2

不幸的是,这不是表格部分页脚的工作方式。为了在底部完成锚定视图,您需要将其作为子视图手动添加到 UIView 中。

如果将其作为子视图添加到您的视图中,UITableView则需要通过更改其框架来保持其锚定scrollViewDidSroll:UIView如果将其作为子视图添加到包含视图中,UITableView则可以将其静态放置在底部。在任何一种情况下,您可能都需要调整contentInset表格视图的底部插入,以便您可以将内容向上滚动到锚定页脚上方。

  • 感谢你的回答。场景是,如果行数较少(累积高度小于表视图的高度),则页脚必须粘在最后一行下方(在视图底部不是静态的),但随着行数的增加(大于 uitableview 的高度)页脚必须固定在视图的底部。如果能用代码详细说明一下就太好了! (2认同)