我有一个UITableViewCell
根据其中的内容动态调整大小的。我这样做heightForRowAtIndexPath
如下:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 1 && indexPath.row == 1) {
NSDictionary *fields = self.messageDetailsDictionary[@"fields"];
NSString *cellText = fields[@"message_detail"];
UIFont *cellFont = [UIFont systemFontOfSize:14.0];
CGSize constraintSize = CGSizeMake(self.tableView.frame.size.width - 50.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 20.0f;
} else {
return tableView.rowHeight;
}
}
在cellForRowAtIndexPath
我自定义单元格中,如下所示:
case 1:{
UITableViewCell *cell = [[UITableViewCell new] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DetailCell"];
if (cell == nil) {
cell = [[UITableViewCell new] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DetailCell"];
}
NSDictionary *fields = self.messageDetailsDictionary[@"fields"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
cell.textLabel.font = [UIFont systemFontOfSize:14.0];
cell.textLabel.numberOfLines = 0; // This means multiline
cell.textLabel.text = fields[@"message_detail"];
return cell;
}
这一切都很好,但是我希望单元格的内容能够检测电话号码、日期/时间等。所以我认为我需要将内容放入UITextView
其中UITableViewCell
以使这成为可能。
如何UITextView
通过修改上面的代码来动态调整大小并将其添加到包含内容的单元格中?示例代码请提供答案,因为我已经尝试将 UITextView 添加为单元格 contentView 的子视图,但它没有像我预期的那样工作。