根据内容可用性调整 UITableViewCell 的大小作为响应
Posted
技术标签:
【中文标题】根据内容可用性调整 UITableViewCell 的大小作为响应【英文标题】:Resize UITableViewCell based on content availability in response 【发布时间】:2017-02-15 16:27:34 【问题描述】:我有一个可自行调整大小的 UITableViewCell,用于显示博客文章。 帖子由文本和图片组成。我现在面临的挑战是有些帖子不包含图片。
如何使用自动布局调整单元格的大小?也许我应该改为设置UIImageView.isHidden = true
?
谢谢!
【问题讨论】:
【参考方案1】:考虑到您说您正在使用自动调整单元格大小,以下是您应该遵循的步骤:
1) 首先将您的tableview cell
子类化为自定义UITableViewCell
类
2) 在上面的类中为 UIImageView 取一个出口为:
@IBOutlet weak var myImageView: UIImageView
3) 将故事板中此图像视图的auto layout
约束设置为leading
、trailing
、top
和height
约束
4) 在同一个 UITableViewCell 类中为 imageview 的height constraint
取出口:
@IBOutlet weak var heightConstraint: NSLayoutConstraint!
5) 在您的cellForRow
方法中,检查您的数据是否包含图像。如果不存在图像,则更改高度约束的值:
if myImage == nil
if myCustomCell.heightConstraint != nil
myCustomCell.heightConstraint.constant = 0
myCustomCell.updateConstraintsIfNeeded()
这应该可以按预期工作。如果没有,请发布您应用的限制条件。
【讨论】:
这很好用@Nilesh Pol。非常感谢!以上是关于根据内容可用性调整 UITableViewCell 的大小作为响应的主要内容,如果未能解决你的问题,请参考以下文章
带有 UIWebview 的 UITableViewCell,可根据内容大小调整高度
如何根据 UITableViewCell 中的内容调整水平 UICollectionView 的高度
如何让 UITableViewCell 调整高度以适应其内容?