因此,我正在创建各种Facebook feed,并且正在获取文本,图像/视频的URL和用户名等。我创建的单元格具有图像视图,文本视图和标签。我正在根据文本视图内容的大小调整单元格的大小。
现在,可以说用户仅发布了文本,并且没有图像。我希望调整单元格的大小,以便在单元格中没有图像视图。只有文本视图,就是这样。
可以仅使用一个单元格/模型/适配器完成此操作,还是需要自定义单元格并根据模型显示它们?
对于如何完成此操作会有所了解。
答案 0 :(得分:0)
您只需要一个单元,就有多种方法可以实现这一目标。一个简单的方法是在单元内部使用UIStackView。
当UIStackView的一个元素被隐藏时,它会调整其大小。如果将约束从堆栈视图放置到单元格,则较小/较大的单元格取决于您是否显示图像。您只需要约束即可。
此外,无论是否使用UIStackView,都要记住在tableView上指定通过执行以下操作来动态改变单元格的大小:
self.tableView.rowHeight = UITableViewAutomaticDimension
答案 1 :(得分:0)
创建一个图像高度限制的出口,然后检查您的URL是否为空白或无效,然后将高度限制设为常数0,否则将其设置为适当的高度。
并确保您同时实现了这两种方法:
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 100; // Put estimated height
}
另一个是,
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}