Ios Swift:UITableView单元格大小与启用自动布局的父UITableView的宽度

Ios Swift:UITableView单元格大小与启用自动布局的父UITableView的宽度,ios,uitableview,autolayout,Ios,Uitableview,Autolayout,我正在试验autolayout,但UITableViewCell遇到了问题,因为它们是在运行时创建的。我的单元格从主ViewController的xib加载。此xib已将视图模式设置为纵横比填充 我在网上读到过很多不同的方法,但还没有找到一种有效的方法。处理这个问题的最佳方法是什么 看起来您的约束设置不正确,因为单元格比图像的高度短 使用自动布局和自动调整单元格大小是处理所需操作的最简单方法。为自定义单元格正确设置约束后,tableView:cellforrowatinexpath:可以调用de

我正在试验autolayout,但UITableViewCell遇到了问题,因为它们是在运行时创建的。我的单元格从主ViewController的xib加载。此xib已将视图模式设置为纵横比填充

我在网上读到过很多不同的方法,但还没有找到一种有效的方法。处理这个问题的最佳方法是什么


看起来您的约束设置不正确,因为单元格比图像的高度短

使用自动布局和自动调整单元格大小是处理所需操作的最简单方法。为自定义单元格正确设置约束后,
tableView:cellforrowatinexpath:
可以调用
dequeueReusableCellWithIdentifier:forindexath:
,所有子视图布局都将为您处理

有关动态单元格布局和可变行高的信息,请参见his中的详细演练,了解如何在UITableView中使用自动布局


他还为次要视图提供了变通方法,而不是tableView宽度。正如我建议的那样,我通过将单元格的初始宽度设置为tableView的宽度来解决这个问题。

您不能像这样在cellForRow AtIndexPath中设置单元格的宽度,cell.frame.size.width=YourTableView.frame.size.width这没有效果。我将xib中图像的高度和宽度限制设置为66。我会试着把它去掉,或者让它与其他东西相关。谢谢,我没有意识到细胞会自动调整大小。