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