UITableViewCell中的NSLayout约束冲突

时间:2015-02-13 23:35:18

标签: ios uitableview swift nslayoutconstraint

我为UITableViewCell的子代添加了几个布局约束,所有这些对我来说都是合理的。但是,视图会发出警告,告诉我以下布局约束之间存在冲突:

<NSLayoutConstraint:0x17428f780 H:|-(0)-[UITableViewCellContentView:0x17419d5a0]   (Names: '|':UITableViewCell:0x14cd88d10 )>
<NSLayoutConstraint:0x17428f7d0 UITableViewCellContentView:0x17419d5a0.trailing == UITableViewCell:0x14cd88d10.trailing>
<NSLayoutConstraint:0x17428fbe0 H:|-(10)-[UILabel:0x14cd842b0'Name'](LTR)   (Names: '|':UITableViewCellContentView:0x17419d5a0 )>
<NSLayoutConstraint:0x17428fcd0 UITextField:0x14cd82d10.right == UITableViewCellContentView:0x17419d5a0.right - 10>
<NSLayoutConstraint:0x17428fdc0 H:[UILabel:0x14cd842b0'Name'(50)]>
<NSLayoutConstraint:0x17428feb0 H:[UILabel:0x14cd842b0'Name']-(10)-[UITextField:0x14cd82d10](LTR)>
<NSLayoutConstraint:0x170289a10 'UIView-Encapsulated-Layout-Width' H:[UITableViewCell:0x14cd88d10(0)]>

因此,它试图打破以下约束:

<NSLayoutConstraint:0x17428feb0 H:[UILabel:0x14cd842b0'Name']-(10)-[UITextField:0x14cd82d10](LTR)>

现在首先,以编程方式设置布局,标签,字段和contentView都将TranslatesAutoresizingMaskIntoConstraints设置为false。其次,似乎没有任何限制在表面上发生冲突,至少在直觉上是如此。第三,当我禁用约束时,错误报告它正在破坏并重新运行,文本字段毫不奇怪地折叠为0宽度。

我有什么遗漏或幕后发生的事情,我没有解决?

1 个答案:

答案 0 :(得分:0)

You can add :

cell.contentView.bounds = cell.bounds;

in :

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

to solve this question.