TableView cell自适应高度-----xib

1.通过xib创建一个cell,将label进行上左下右,进行适配,

 

self.automaticallyAdjustsScrollViewInsets = NO;

self.edgesForExtendedLayout = UIRectEdgeNone;//将原点移动到navigationBar下面去了

tableView.estimatedRowHeight = 37.0;//估计cell的高度

tableView.rowHeight = UITableViewAutomaticDimension;//行高自适应

 

//选中cell的时候让cell自适应高度

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    [tableView deselectRowAtIndexPath:indexPath animated:true];

    WLTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

    UILabel *label = [cell.contentView viewWithTag:1000];

    [tableView beginUpdates];//开始更新

    if (label.numberOfLines == 0) {

        label.numberOfLines = 1;

    }else{

        label.numberOfLines = 0;

    }

    [tableView endUpdates];//结束更新

}

//cell显示的时候做一个动画

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

{

    CGFloat offSet = tableView.contentOffset.y;

    if (offSet <=0) {

        return;

    }

    CGRect oldRect = cell.frame;

    CGRect newRect = cell.frame;

    newRect.origin.y += 50;

    cell.frame = newRect;

    [UIView animateWithDuration:0.5 animations:^{

        cell.frame = oldRect;

    }];

}

 

posted @ 2016-05-15 22:59  圣哥哥  阅读(1222)  评论(0编辑  收藏  举报