iOS Autolayout将高度约束设置为零导致布局无效
我启用了iOS Autolayout将高度约束设置为零导致布局无效,ios,autolayout,Ios,Autolayout,我启用了自动布局的以下布局: UIView UITableView 我有以下限制条件(此处仅重要,其余条件不适用): 当我试图将高度设置为零(例如,它没有内容)时,应用程序会停止,但出现异常: Probably at least one of the constraints in the following list is one you don't want...blah blah blah... Will attempt to recover by breaking constrai
自动布局
的以下布局:
UIView
UITableView
我有以下限制条件(此处仅重要,其余条件不适用):
当我试图将高度设置为零(例如,它没有内容)时,应用程序会停止,但出现异常:
Probably at least one of the constraints in the following list is one you don't want...blah blah blah...
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1559bf40 V:[UITableView:0x15bfc200]-(17)-| (Names: '|':UITableViewCellContentView:0x1559b330 )>
将tableView高度设置为零的正确方法是什么?我是否应该降低某些约束的优先级?我认为问题在于外部UIView的大小是特定的。它的高度是54点,因此当您最初设置约束时,它们会起作用。但是,当您将高度更改为0时,数学计算不起作用:17+0+17!=54
我不能100%确定您对这个小tableview的目标是什么,但我认为您应该能够使用一个顶部约束和一个高度约束(不需要底部约束)来定位它。这将删除将约束添加到superview高度的要求。正在将高度设置为零,而不删除地址处约束的
==20
部分0x15bfc200
?您如何更改高度?@AaronBrager添加了代码示例您是否将这些约束添加到self.view
?似乎很奇怪,UITableViewCellContentView
被列为UITableView的超级视图;我相信这是UITableView的私有子视图。谢谢,好主意!我是在对抗底部间距,而不是使用顶部+高度!太好了,谢谢亚伦!
Probably at least one of the constraints in the following list is one you don't want...blah blah blah...
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1559bf40 V:[UITableView:0x15bfc200]-(17)-| (Names: '|':UITableViewCellContentView:0x1559b330 )>
heightConstraint.constant = 0;