Swift 将UITableView放入其中后,UITableView单元格已损坏

Swift 将UITableView放入其中后,UITableView单元格已损坏,swift,xcode,uitableview,Swift,Xcode,Uitableview,我想在UITableView中创建UITableView。我设计了故事板并设置了所需的自动布局。当我在UITableViewCell中的单元格行高度上选中automatic时。无论单元格的高度如何,它都将调整为43.5。当我移除UITableView时,它将恢复正常。检查下面的GIF 预期产出: UITableViewCellheight指的是约束 编辑:我是在Xcode12.0.1中做的 不建议在表视图单元格中嵌入表视图。想想你的应用程序的用户体验,当用户滚动单元格时,会有另一个表视图同时显示

我想在
UITableView
中创建
UITableView
。我设计了故事板并设置了所需的自动布局。当我在
UITableViewCell
中的单元格行高度上选中
automatic
时。无论单元格的高度如何,它都将调整为43.5。当我移除
UITableView
时,它将恢复正常。检查下面的GIF

预期产出
UITableViewCell
height指的是约束

编辑:我是在Xcode12.0.1中做的


不建议在表视图单元格中嵌入表视图。想想你的应用程序的用户体验,当用户滚动单元格时,会有另一个表视图同时显示两个表视图。在触摸屏幕的同时,您将有两个垂直滚动条


您可以使用一个表格视图,其中包含部分(表示单元格)和部分内的行(表示单元格内的表格视图),实现相同的功能。

如果所有组件(子视图)都是自动单元格高度在单元格内部有一些自己的隐式内部内容大小,或者您已经对其设置了高度约束,并且您已经设置了足够的自动布局约束,以便iOS可以使用约束和子视图的内部内容大小来评估单元格的大小,但是一旦您将
tableView
作为子视图引入,
tableView
继承自
scrollView
,通常scrollView子类没有自己固有的内容大小,它们依赖于您通过应用高度约束或通过向父视图提供大小来限制其大小来提供某种大小信息,而且,由于您在将其作为子视图添加到单元格时,没有向
tableView
添加任何高度约束,因此iOS不知道单元格本身的大小,因此会返回到原来的大小43.5:)希望这会有所帮助,但如果我添加类似UIImageView的内容,则不会返回到43.5。即使我只是把它(一个还没有约束的新视图)放进去,我也会像上面的表视图一样处理它。UIImageView是没有内在大小的东西,除非我们在内部设置图像。但是我们可以使
子表视图.isScrolEnabled=false
&根据其内容设置表视图高度,然后单元格将根据该子表视图调整大小。我试过了,但结果从来都不是最优的。我认为最好的做法是不要在表视图中嵌入表视图。