UITableView无法设置约束

时间:2018-12-19 15:29:05

标签: ios uitableview constraints

我是初学者程序员

我正在尝试使用行大小调整笔记应用程序,但是每次运行该应用程序时,它都会失败并显示以下错误:

  

将尝试通过打破约束来恢复   NSLayoutConstraint:0x60000009dce0 UILabel:0x7f956f410b90.height> = 21(活动)

     

在UIViewAlertForUnsatisfiableConstraints上创建一个符号断点,以在调试器中捕获该断点。   UIKit / UIView.h>中列出的UIView的UIConstraintBasedLayoutDebugging类别中的方法也可能会有所帮助。

完整项目-https://github.com/MarBaka/MemoOrganizer.git

请帮助

1 个答案:

答案 0 :(得分:0)

默认情况下,UITableView不会期望行自动调整大小。因此,它将打破任何试图使行大于预期的约束。

解决方案是让UITableView知道您将拥有动态高度,您可以这样做: tableView.rowHeight = UITableViewAutomaticDimension

使用此方法,您可以跳过tableView:heightForRowAt:的实现,而让UITableView自行计算。

如果行很多,您可能会注意到UITableView的加载速度变慢。您可以通过实现tableView:estimatedHeightForRowAt估算行的高度来改善这一点。
这样做是将UITableView的内容高度(所有行的总高度)的计算从加载时间移动到滚动时间。