tableview的属性检查器设置:
有一根垂直约束线从headerView的第一个view一直连接到最下面的view
![](https://img.haomeiwen.com/i2319915/f5fc5ac8a9597c7e.png)
![](https://img.haomeiwen.com/i2319915/1a3bddd8bfa7c7ea.png)
![](https://img.haomeiwen.com/i2319915/cc58a523fa7c2b95.png)
点击展开全部时的代码
- (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]; // 收起后有一瞬间空白
}
网友评论