UITableView HeaderView 高度自适应

tableview的属性检查器设置:

有一根垂直约束线从headerView的第一个view一直连接到最下面的view

UITableView HeaderView 高度自适应_第1张图片
UITableView HeaderView 高度自适应_第2张图片
UITableView HeaderView 高度自适应_第3张图片



点击展开全部时的代码

- (IBAction)actionShowMore:(UIButton*)sender {

    sender.selected= !sender.isSelected;

    _poiDescription.numberOfLines = sender.isSelected?0:3;

    //利用systemLayoutSizeFittingSize:计算出真实高度

    CGFloat height = [self.tableView.tableHeaderView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;

    CGRect headerFrame = self.tableView.tableHeaderView.frame;

    headerFrame.size.height= height;

    //修改tableHeaderView的frame

    self.tableView.tableHeaderView.frame= headerFrame;

    [self.tableView reloadData]; // 收起后有一瞬间空白

}

你可能感兴趣的:(UITableView HeaderView 高度自适应)