UITableView 中的 cell 被 tableHeaderView 覆盖

2015-08-24 16:48:01 +08:00
 firecracker2

如题, cell 并没有在 tableHeaderView 的下方,而是也是从 tableview 的 0 , 0 点开始,有大神知道原因吗?

3464 次点击
所在节点    iDev
5 条回复
urmyfaith
2015-08-24 16:49:23 +08:00
图图
pupboss
2015-08-24 17:05:13 +08:00
这不刚好用来放广告,等不需要的时候 XXXtableView. tableHeaderView = nil;

....纯脑洞
pupboss
2015-08-24 17:11:56 +08:00
算了我好好回答吧,你用的应该是
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger )section {

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake (x, 8, 300, 25 )];
label.text = @"xxxx";
label.textAlignment = NSTextAlignmentCenter;
return label;
}

换成这个:

self.tableView.tableHeaderView=label;

把这个作为整个 tableView 的 header ,而不是某一个 section 的
firecracker2
2015-08-24 17:25:04 +08:00
@pupboss 。。。我都写了是 tableHeaderView , tableView 的 header 和 section 的 header 还是分的清楚的。
firecracker2
2015-08-24 17:31:40 +08:00
找到原因了,如果我先给一个 UIView 实例的 frame 赋值,再把这个 view 实例赋给 self.tableView.tableHeaderView 是没有问题,但是我之前写成先把 view 实例赋给 tableHeaderView ,然后发现没有赋 frame 的值,之后就直接赋给了 tableHeaderView ,然后就出现了上述问题,应该是在给 tableHeaderView 赋值时,会通过这个 view 的 frame 来确定 cell 的位置吧,猜测。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX