tableHeaderView内使用自动布局总结

来源:互联网 发布:java生成支付宝二维码 编辑:程序博客网 时间:2024/06/05 19:25

自定义一个view,里面使用了自动布局,想把这个view设置成tableHeaderView,(注意,这边tableHeaderView和section的headerView是不一样的,tableHeaderView的话,一个tableView只有上面的是,二section的headerView则每个组都有。)如果在设置这个tableHeaderView的时候,最后显示出来的不是正确的高度,那么可以试试以下几种方法:

1、viewDidLoad的时候设置一下tableHeaderView:
self.tableView.tableHeaderView= self.headerView;
在自定义的headerView里内容加载完成后,填充后重新再设置一次tableHeaderView:

2、在iOS7里如果直接设置自定义的headerVIew给tableHeaderView遇到莫名的奔溃(通常因为这个自定义的headerView里面使用了自动布局),可以尝试将这个headerView添加(addSubView:)到另一个UIView,然后设置另一个UIView给tableHeaderView。

3、高度不正常的时候,手动计算设置headView的高度:
- (void)sizeHeaderToFit
{
   
UIView *header = self.tableView.tableHeaderView;
   
    [header
setNeedsLayout];
    [header
layoutIfNeeded];
   
   
CGFloat height = [headersystemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
   
CGRect frame = header.frame;
   
    frame.
size.height= height;
    header.
frame= frame;
   
   
self.tableView.tableHeaderView= header;
}

0 0
原创粉丝点击