在使用xib创建tableview的tableHeaderView的时候,由于各手机屏幕不一致,所以各个控件的高度是不一样,在高度自适应中,在xib的最后一个控件不要与view设置约束,使view的高度能够延伸,然后在.m文件layoutSubviews中根据view的最后一个控件的位置重新设定view.frame.size.height即可.
- (void)layoutSubviews{
[super layoutSubviews];
CGRect frame = self.frame;
frame.size.height = CGRectGetMaxY(self.lastView.frame)+20;
self.frame = frame;
}
要是根据网络数据填充适配高度的话,只要在填充完数据的是后再设置
self.tableView.tableHeaderView =self.headerView;
然后tableview reload的时间延迟一小会即可.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.tableview reloadData];
});
网友评论