天天看點

自動布局 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 并解決