UITextView上的SizeToFit垂直居中于单元格中

时间:2014-08-09 11:01:00

标签: ios uitableview constraints

[解决] 我的错误......细节是UILabel而不是UITextView。并且sizeToFit不会调整UILabel的大小。用UITextView替换UILabel解决了我的问题。


我有一个固定高度的自定义单元格,其中包含垂直居中的所有约束视图(称为'内容'),其中包含标题和说明。内容视图层次结构为:

  • 图标
  • 内容UIView
    • title UILabel
    • 详细信息UITextView
  • 页脚

当我测试'详细信息的价值时在界面构建器中,一切都在预览(xCode 6)上正常工作:细节被调整大小以包含文本和内容'是垂直居中的。

但是,当按代码设置'详细信息的内容时,并调用sizeToFit,UITextView被正确调整大小但不更新约束。请参阅下面的cellForRowAtIndexPath代码。我错过了什么?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    // get a cell
    QZSetupPartyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PackCell" forIndexPath:indexPath];

    // fill the current cell with the current pack
    QZPack *pack = self.party.packs[indexPath.row];

    // set pack title
    cell.title.text = pack.json[@"title"];

    // resize textview to its content
    cell.details.text = pack.json[@"desc"];
    [cell.details sizeToFit];

    // async load of the icon
    [pack loadIconWithCompletion:^(UIImage *image) {
        cell.icon.image = image;
        [cell setNeedsLayout];
    }];

    // and recompute the cell constraints
    [cell layoutIfNeeded];
    [cell setNeedsDisplay];

    return cell;
}

0 个答案:

没有答案