本文共 2786 字,大约阅读时间需要 9 分钟。
转载自: https://www.jianshu.com/p/27114cce7c75
tableView 有个属性叫tableHeaderView 用它我们可以做很多事情
在tableView的头部加上自定义的view 随着tableView一起滚动常用的就是轮播图比如这样
tableView 的tableHeaderView 有两种创建方式一中是代码创建另外一种是用xib创建
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.width, 200)]; // 设置header self.tableView.tableHeaderView = header;
BBSTableHeaderView * cell = [BBSTableHeaderView tableHeaderView];cell = 291;self.tableView.tableHeaderView = header;
UIView * header = [[UIView alloc]init]; header.backgroundColor = [UIColor whiteColor]; BBSTableHeaderView * cell = [BBSTableHeaderView tableHeaderView]; cell.backgroundColor = [UIColor clearColor]; [header addSubview:cell]; header.height = 291; self.tableView.tableHeaderView = header;
解决方案如下:
//在控制器里面viewDidLoad 写下这句代码应该就可以了self.automaticallyAdjustsScrollViewInsets = NO;/** 坐标:以屏幕左上角为原点(iOS7以前在状态栏或者导航条下)2.UIScrollView(包括其子类,比如UITableView):会自动在顶部和底部预留一些空白(因为滚动经过半透明导航条或者tabbar下面,需要能隐约看到的效果),是否预留空白可以由UIViewController的automaticallyAdjustsScrollViewInsets的这个属性控制(默认YES,表示预留空白)。上面这些只要你用iOS开发,就能发现。一个控制器中,出现UIScrollView(包括其子类),必须是第一个添加到控制器的视图上才会预留空白,这里的第一个是相对于所有的子视图,不仅仅是其他UIScrollView(包括其子类)。 那么我遇到的问题如何解决呢,还是这个属性automaticallyAdjustsScrollViewInsets,仔细看它的文档说明,它说了,如果一个控制器中出现两个以上的UIScrollView(包括其子类),这个属性需要设置为NO.即不会预留空白,那么这个控制器中所有的UIScrollView(包括其子类)都需要重新设置坐标*/
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return 0.01;}- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.01;}
//显示headerView[self.tableView.tableHeaderView setHidden:NO];//隐藏headerView [self.tableView.tableHeaderView setHidden:YES];
//这样设置是没有用的 不信你可以试试 始终为0self.tableView.tableHeaderView.height = xxx;//应该这么设置UIView *tableHeaderView = _tableView.tableHeaderView;tableHeaderView.height = 0.01;[_tableView setTableHeaderView:tableHeaderView];//如果你要设置tableHeaderView.height = 0;//这样是没有效果的 而且tableView的顶部又会多处一片空白 一定要设置一个比较小的值 当然这个值并不是0;
以上内容是自己在开发中遇到过得问题 以及自己的解决方案 写在这里 是想让更多人知道这里的坑 以免在这个小问题上耽误大家的时间.
最后如果这篇文章对你有用 请给我一个赞 作为鼓励 谢谢~