我检查了所有这些 UITableView, make footer stay at bottom of screen?
tableFooterView property doesn't fix the footer at the bottom of the table view
iOS - viewForFooterInSection sticking to bottom of UITableView
Proper way to implement a footer in 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;
}
自定义视图中的类方法注册.nib文件并返回视图。然而,实施是;
+ (CustomTableHeaderView*)header
{
return [[[NSBundle mainBundle]loadNibNamed:@"CustomTableHeaderView" owner:nil options:nil]objectAtIndex:0];
}
页脚的类似实现。
问题是当表格视图滚动时,页脚视图不会锁定在底部。 i-e,当视图内部有更多行时,页脚视图会隐藏,并在所有行向下滚动直到结束时显示。我想锁定视图底部的页脚视图,无论有多少行可以滚动。 标题视图已经通过此实现完美实现,因为它在滚动行时被锁定在顶部,但页脚视图随行滚动。
我也尝试过self.tableview.tablefooterview属性,但它也没有帮助。
答案 0 :(得分:2)
不幸的是,这不是表格页脚的工作方式。要在底部完成锚定视图,您需要手动将其作为子视图添加到UIView。
如果您将其作为子视图添加到UITableView
,则需要通过更改scrollViewDidSroll:
中的框架来保持锚定。如果您将其作为子视图添加到包含UIView
的{{1}},则可以将其静态放置在底部。在任何一种情况下,您可能都希望调整表格视图的UITableView
,底部有一个插图,这样您就可以将内容滚动到锚定的页脚上方。