两个非冲突约束创建NSLayoutConstraint错误

时间:2015-04-11 21:03:42

标签: ios autolayout nslayoutconstraint

我对UILabel有两个限制,将引线和尾部固定在superview上。

问题是,当我在应用程序中打开视图时,出现此错误:

2015-04-11 22:00:24.319 TradingPost[7610:60b] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
"<NSLayoutConstraint:0x17e9da10 H:[UILabel:0x17ef3ca0]-(12)-|   (Names: '|':UITableViewCellContentView:0x17eaceb0 )>",
"<NSLayoutConstraint:0x17e9da40 H:|-(88)-[UILabel:0x17ef3ca0]   (Names: '|':UITableViewCellContentView:0x17eaceb0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x17eb1b00 h=--& v=--& H:[UITableViewCellContentView:0x17eaceb0(0)]>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x17e9da10 H:[UILabel:0x17ef3ca0]-(12)-|   (Names: '|':UITableViewCellContentView:0x17eaceb0 )>

然后它继续运行,好像所有约束都在使用预期的功能。

以下是我明确限制的屏幕截图:

Constraints Image

1 个答案:

答案 0 :(得分:1)

我在说你正在使用UITableView并创建一个自定义单元格 创建UITableViewCell的子类,将该类分配给您的自定义单元格并覆盖awakeFromNib,如下所示:

- (void)awakeFromNib {
    [super awakeFromNib];
    self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}