Two non-conflicting constraints creating a NSLayoutConstraint error

给你一囗甜甜゛ 提交于 2019-12-12 04:48:57

问题


I have two constraints on a UILabel pinning the lead and the tail to the superview.

The problem is, when I open the view in the app, I get this error:

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 )>

It then proceeds to function as if all of the constraints were working with intended functionality.

Here's a screenshot of my constraints for clarity:


回答1:


I am gussing you are using a UITableView and creating a custom cell.
Create a subclass of UITableViewCell, assign that class to your custom cell and overwrite the awakeFromNib as follows:

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


来源:https://stackoverflow.com/questions/29583011/two-non-conflicting-constraints-creating-a-nslayoutconstraint-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!