印象深刻的bug:使用xib做为tableHeaderView,
2017-10-28 本文已影响18人
十一岁的加重
目前已经解决,过程相当诡异。之前用Xcode8.3.2
是正常的,后面升级到Xcode9
好像就不正常了。
结论:
iOS9
之前需要在包一层view
,然后设置高度时,不能直接
self.tableView.tableHeaderView.height = 1214.7;
你得类似这样设置height
:
UIView *headerV = self.tableView.tableHeaderView;
CGRect *headerF = headerV.frame;
headerF.size.height = 1214.7;
headerF.size.width = kScreenW;
headerV.frame = headerF;
headerV.subviews[0].frame = headerF;
self.tableView.tableHeaderView = headerV;
iOS9
以后呢,不用包这一层view了,在设置高度时,直接
self.tableView.tableHeaderView.height = 1214.7;
同时还得在viewDidLayoutSubvies
里设置这个高度。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubvies];
/// 这里可以用个变量存这个高度,不过我们正确的做法就是在这个时机设置frame而非viewDidLoad方法中
self.tableView.tableHeaderView.height = 1214.7;
}