关于用xib自定义的cell的高度自适应问题

来源:互联网 发布:知乎西昌 编辑:程序博客网 时间:2024/05/17 22:35

在使用xib和纯代码结合的时候,可能会遇到就是cell的自定义时,可能就会有遇到在同一个UITableView中可能有两种状态共存的情况,而且cell的高度有固定高度,也存在根据label字数自适应高度的时候就需要分开判断了。

苹果有一个自带的属性设置就是

self.tableView.rowheight =  UITableViewAutomaticDimension;//设置cell的高度为自动计算,只有才xib或者storyboard上自定义的cell才会生效,而且需要设置好约束self.tableView.estimatedRowHeight = 240;//必须设置好预估值

这两段代码可以写在viewdidload里,但是写在这会发生一个问题。就是继续使用UITableViewDataSource里的

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {}
这个方法后上述的方法就会失效

所以我会将  self.tableView.rowheight 以及 self.tableView.estimatedRowHeight这两个属性写在UITableViewDataSource的代理方法里

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{    if (indexPath.row == 0) {        return 60;    }        self.articleTableView.rowHeight = UITableViewAutomaticDimension;    self.articleTableView.estimatedRowHeight = 240;    return self.articleTableView.rowHeight;}
亲测,有效,完美解决了自适应以及固定高度的问题

2 0
原创粉丝点击