[英]Change height of static UITableViewCell to fit content
就像标题所说的一样。 我正在研究如何更改静态UITableViewCell的高度以适合内容。 所以我有几个静态节,每个节中都有1个TableViewCell。 里面的UILabel溢出了UITableviewCell,我需要它来适应。
我正在努力的是:
您必须实施
tableView:heightForRowAtIndexPath:
UITableViewDelegate
方法。 这是以编程方式计算单元格高度并将其返回到表格(当表格需要显示时)的唯一方法。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *string = @"Your string";
CGRect boundingBox = [string boundingRectWithSize:CGSizeMake(CGRectGetWidth(self.view.bounds), CGFLOAT_MAX)
options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:14.0f]}
context:nil];
return CGRectGetHeight(boundingBox);
}
该解决方案是最干净的,并且有效。 上面的方法是委托协议的一部分,似乎可以用来调整情节提要定义的样式和布局。 但是,Apple不推荐这样做:
如果情节提要中的表视图是静态的,则包含表视图的UITableViewController的自定义子类不应实现数据源协议。 - 适用于iOS的Table View编程指南
因此,如果要动态更改单元格的属性,请使用动态单元格,而不是静态单元格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.