为什么tableView不允许滚动查看footerView?

时间:2013-07-25 06:42:01

标签: ios objective-c uitableview

我已经通过属性为tableView设置了自定义页脚:

self.tableView.tableFooterView = [self myCustomFooterView];

tableView在屏幕中填充几乎全高,因此底部只能看到1/3部分页脚。我已禁用弹跳,我无法将tableView滚动到底部以查看footerView。如果弹跳启用,那么我可以反弹并查看表格页脚,但表格在弹跳后返回到相同的位置。看起来tableView内容大小不包括我的footerView,这就是我无法滚动的原因。我想如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

JoshHinman是对的(“检查表视图的框架并确保它不大于屏幕。”)。我通过将MyViewController.view作为子视图添加到AnotherViewController.view来重用在AnotherViewController中包含tableView的MyViewController。因为AnotherViewController.view包含一些徽标图像,所以MyViewController.view.tableView被推到底部。当他指出,问题是我已经把tableView推得太多了:)

答案 1 :(得分:0)

您必须使用此数据源方法将页脚设置为

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

还要确保tableview的框架可以满足页脚在视图中可见

EDIt此方法有助于将页脚设置为每个部分,因此如果要在检查方法中返回的部分后将页脚设置为上次检查。

而且提问者意图这对我有用

UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
[view1 setBackgroundColor:[UIColor redColor]];

[self.view addSubview:view1];
[self.table setTableFooterView:view1];

所以请检查[self myCustomFooterView];

答案 2 :(得分:0)

在设置UITableView页脚之后,还要编写以下代码:

CGSize wholesize =  self.tableView.contentSize;    
wholesize.height = self.tableView.contentSize.height + self.tableView.tableFooterView.frame.size.height;  

self.tableView.contentSize = wholesize;
[tableView setContentOffset:CGPointMake(0, tableView.contentSize.height) animated:YES];
self.tableView.tableFooterView.userInteractionEnabled = YES;