【发布时间】:2021-06-03 04:55:38
【问题描述】:
我想在UITableView 中创建UITableView。我设计了故事板并设置了所需的自动布局。当我在UITableViewCell 的单元格行高上检查automatic 时。无论单元格的高度是多少,它都会调整为 43.5。当我删除UITableView 时,它会恢复正常。检查下面的 GIF。
预期输出:
UITableViewCell 高度是指约束。
编辑:我在 Xcode 12.0.1
中做到了这一点【问题讨论】:
-
如果单元格内的所有组件(子视图)都有自己的隐式内在内容大小,或者您已对它们设置了高度约束并且您已设置了足够的自动布局约束,则自动单元格高度有效这样iOS可以使用约束和子视图的内在内容大小来评估单元格的大小,但是一旦您将
tableView作为子视图引入,tableView就会继承自scrollView,并且通常滚动视图子类没有内在内容大小他们自己的,他们依靠你来提供一些 -
通过应用高度约束或通过向父视图提供大小来限制其大小的大小信息类型,并且因为您尚未将任何高度约束添加到
tableView,只要将其作为子视图添加到单元格,iOS 不知道单元格本身的大小,因此会退回到原始大小 43.5 :) 希望有所帮助 -
但是如果我添加类似 UIImageView 的东西,它就不会回到 43.5。即使我只是放了它(一个还没有约束的新视图),我也像上面的表格视图一样对待它。 UIImageView 是没有内在大小的东西,除非我们在里面设置图像。
标签: swift xcode uitableview