我需要计算包含多行环绕文本的 UITableViewCell 的高度。到目前为止,我找不到 100% 准确的方法来做到这一点。此外,我目前使用的技术在很大程度上依赖于固定值:
NSString *cellText;
cellText = @"Very long multi line text in this String ...";
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:14.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 32;
仅在这几行中使用的固定值:
- 字体大小 (14)
- 字体类型(Helvetica)
- CGSize, 宽度 (280.0f)
- 我发现需要随机填充值 (32)
有没有一种很好的方法可以以动态获取和计算所有这些固定值的方式重写它?
这将有助于使布局更具响应性和代码可重用。我很欣赏任何最佳实践。