天天看点

自动布局 UITableView 更新 tableViewHeaderView高度

更新方法

UIView *view = self.tableView.tableHeaderView;

CGRect headerFrame = self.tableView.tableHeaderView.frame;

headerFrame.size.height = (NSInteger)(SCREENHEIGHT * );

self.tableView.tableHeaderView.frame = headerFrame;

[self.tableView setTableHeaderView:view];
           

注意事项

眼尖的读者可能发现我在更改 height 的时候加了一个 NSInteger 的强制转换,明明 height 是 CGFloat 类型,为什么要转为 NSInteger 呢?

起因是因为设置高度引起了一个诡异的 Bug。

在 SCREENHEIGHT * 0.65 计算出的数值不为 x.00 或者 x.50 时,某些情况下会导致 tableView的子视图(Cell、Header、Footer)无法响应点击操作,在定位 Bug 成功后,开始了半个小时要砸电脑的心情,终于发现了这一诡异的 Bug 并解决