美文网首页
Autolayout自动布局cell导致tableView偏移

Autolayout自动布局cell导致tableView偏移

作者: 我非起点亦非终点 | 来源:发表于2016-08-29 17:59 被阅读0次

    在iOS8下,使用Autolayout自动布局cell,在点击cell push的过去,pop回来的时候,发现tableView偏移,iOS9下正常,可以建立一个tableView的类别来缓存cell的高度,然后在返回cell高度时,返回缓存的高度,这样就正常了

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
       PushFixTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
       cell.rowNumberLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row+1];
       if (![tableView ky_isEstimatedRowHeightInCache:indexPath]) {
            CGSize cellSize = [cell systemLayoutSizeFittingSize:CGSizeMake(self.view.frame.size.width, 0) withHorizontalFittingPriority:1000.0 verticalFittingPriority:50.0];
            [tableView ky_putEstimatedCellHeightToCache:indexPath height:cellSize.height];
    }
       return cell;
    }
    
    - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
        return [tableView ky_getEstimatedCellHeightFromCache:indexPath defaultHeight:100];
    }
    

    GitHub:iOS8PushFix

    相关文章

      网友评论

          本文标题:Autolayout自动布局cell导致tableView偏移

          本文链接:https://www.haomeiwen.com/subject/pltfettx.html