iOS-UITableView 和 tableHeaderView 之间有距离或是遮挡前边 cell 的难题

1. 了不起状态下的 tableHeaderView:

UITableView 和 tableHeaderView
之间应该是紧紧连在一齐的,之后调试进度中,出现了区间,以及遮挡的题目。

图片 1可观状态下的tableView.png

缘由是页面在步入的时候,会先河化 tableHeaderView,之后每回点击更新
tableHeaderView 的时候,都是 直接设置的 tableHeaderView 的可观导致的。

2. 只是不经常会产出这种景色:
_tableView.tableHeaderView.frame = CGRectMake(0, 0, kScreenWidth, 44);

图片 2tableHeaderView遮挡住cell01.png图片 3tableHeaderView遮挡住cell02.png

修改为先安装view的可观,然后更新 tableHeaderView:

3. 涌出难题的代码
UIView *headerView = _tableView.tableHeaderView;
headerView.height = height;
_tableView.tableHeaderView = headerView;
 #pragma mark - 设置tableHeaderView - setupTableHeaderView { UIView *view = [[UIView alloc] init]; view.backgroundColor = [UIColor greenColor]; // 设置 tableHeaderView self.tableView.tableHeaderView = view; // 设置 view 的 frame view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight); }

图片 4出现遮挡的代码.png

4. 破解之道
 #pragma mark - 设置tableHeaderView - setupTableHeaderView { UIView *view = [[UIView alloc] init]; view.backgroundColor = [UIColor greenColor]; // 设置 view 的 frame(将设置 frame 提到设置 tableHeaderView 之前) view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight); // 设置 tableHeaderView self.tableView.tableHeaderView = view; // // 设置 view 的 frame // view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight); }

图片 5杀鸡取卵之道.png

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图