[英]UITableViewCell dynamic height with image
在这种情况下,我建议您应该动态更新约束。将imageview的高度约束连接到viewcontroller。
@IBOutlet var MyHeightConstraint: NSLayoutConstraint!
并将imageview隐藏时将其值设置为0
MyHeightConstraint.constant = 0
您应该在UITableViewController中处理此问题。 假设您正在使用自动版式,则应设置约束以使用和不使用图像。 例如,假设您的单元格只是一个UIImageView和一个UILabel。
-----------
UIImageView
UILabel
-----------
您应该将imageView固定在顶部,右侧,左侧。 您应该将标签固定在底部,右侧,左侧,并在顶部设置2个约束。 一种是imageView,另一种是superView。 第一个具有999优先级,第二个具有500优先级。
在VC中,确定像元高度时,如果没有图像,则必须:
另外,如果您的约束设置正确,您甚至可以执行以下操作:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
YourCellClass *cell = [self.tableView dequeueReusableCellWithIdentifier:kIdentifier];
// here you make your validations and setup your cell as we said before
// something like [cell setupForImage:UIImage andText:text];
return [cell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
}
有了这个,您甚至都不必在乎硬编码您的身高,该单元将为您完成。
希望能帮助到你!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.