本文共 1542 字,大约阅读时间需要 5 分钟。
转载自: http://blog.csdn.net/lizitao/article/details/50338771
1、问题背景
刚在一个界面上搭建一个tableview,但是无论怎么设置,tableview的顶部都会有一个空白,初始化代码如下:
- self.reviewTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.width, self.view.bounds.size.height - 233) style:UITableViewStyleGrouped];
- self.reviewTableView.dataSource = self;
- self.reviewTableView.delegate = self;
- self.reviewTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
- self.reviewTableView.scrollEnabled = YES;
- self.reviewTableView.separatorColor = [UIColor clearColor];
- self.reviewTableView.showsVerticalScrollIndicator = YES;
- [self.backgroudViewFirst addSubview:self.reviewTableView];
- [self.reviewTableView setSeperatorMargin:0];
结果出来的tableview就多出一个“表头”,如下:
开始以为是标头设置了高度或者标头视图,尝试如下:
- - (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
- {
- return nil;
- }
-
- - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
- {
- return 0.0;
- }
结果没有任何作用,经过查阅,可以尝试如下方法进行设置: (1)设置headsection高度为0.00001而不是0.0,如下:
- - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
- {
- return 0.00001;
- }
(2) 我们知道UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped。后者按分组样式显示,前者按照普通样式显示而已。所以,如果不需要这个标头可以直接改为普通风格即可:
- self.reviewTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.width, self.view.bounds.size.height - 233) style:UITableViewStylePlain];
2、参考资料:
http://www.cnblogs.com/kenshincui/p/3931948.html