Unable to simultaneously satisfy constraints. Probably at least one of the constraints - ios

I'm doing an ios chat application using swift 5 and storyboard, one of my views contain a table view and cell however i'm getting this kind of error i didn't udnerstand what is it exacctly and how can i fix it!
Apparently whenever the tableView.reload() function is called this problem happens.
Here it is my view
view storyboard tableview
As you can see in the image there is a tableview, and within the tableCell, there is a view that contain label to display username, and in the right an image view to display user photo
2020-10-14 14:59:17.638363+0200 Chatiw[17620:455807] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x6000000e7840 UILabel:0x7fafbe739be0.width >= 261 (active)>",
"<NSLayoutConstraint:0x6000000e7930 UIImageView:0x7fafbe73a4d0.width == 62 (active)>",
"<NSLayoutConstraint:0x6000000e7b10 UILabel:0x7fafbe739be0.leading >= UITableViewCellContentView:0x7fafbe739850.leadingMargin (active)>",
"<NSLayoutConstraint:0x6000000e7c50 H:[UILabel:0x7fafbe739be0]-(51)-[UIImageView:0x7fafbe73a4d0] (active)>",
"<NSLayoutConstraint:0x6000000e7ca0 UIImageView:0x7fafbe73a4d0.trailing == UITableViewCellContentView:0x7fafbe739850.trailingMargin (active)>",
"<NSLayoutConstraint:0x600000096580 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fafbe739850.width == 375 (active)>",
"<NSLayoutConstraint:0x6000000e7e80 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x600001a9cb60'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe739850 )>",
"<NSLayoutConstraint:0x6000000e7f20 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600001a9cb60'UIViewLayoutMarginsGuide']-(16)-|(LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe739850 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000e7840 UILabel:0x7fafbe739be0.width >= 261 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-14 14:59:17.642314+0200 Chatiw[17620:455807] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x600000096710 UILabel:0x7fafbe43e0f0.width >= 261 (active)>",
"<NSLayoutConstraint:0x6000000968f0 UIImageView:0x7fafbe43e360.width == 62 (active)>",
"<NSLayoutConstraint:0x6000000ea620 UILabel:0x7fafbe43e0f0.leading >= UITableViewCellContentView:0x7fafbe43dd60.leadingMargin (active)>",
"<NSLayoutConstraint:0x6000000eb8e0 H:[UILabel:0x7fafbe43e0f0]-(51)-[UIImageView:0x7fafbe43e360] (active)>",
"<NSLayoutConstraint:0x6000000eb7f0 UIImageView:0x7fafbe43e360.trailing == UITableViewCellContentView:0x7fafbe43dd60.trailingMargin (active)>",
"<NSLayoutConstraint:0x600000097250 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fafbe43dd60.width == 375 (active)>",
"<NSLayoutConstraint:0x6000000eb9d0 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x600001a9a5a0'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe43dd60 )>",
"<NSLayoutConstraint:0x6000000eac60 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600001a9a5a0'UIViewLayoutMarginsGuide']-(16)-|(LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe43dd60 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600000096710 UILabel:0x7fafbe43e0f0.width >= 261 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-14 14:59:17.644909+0200 Chatiw[17620:455807] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x6000000eb930 UILabel:0x7fafc084b7c0.width >= 261 (active)>",
"<NSLayoutConstraint:0x6000000ea8f0 UIImageView:0x7fafc084bb60.width == 62 (active)>",
"<NSLayoutConstraint:0x6000000eab20 UILabel:0x7fafc084b7c0.leading >= UITableViewCellContentView:0x7fafc084b630.leadingMargin (active)>",
"<NSLayoutConstraint:0x6000000ea8a0 H:[UILabel:0x7fafc084b7c0]-(51)-[UIImageView:0x7fafc084bb60] (active)>",
"<NSLayoutConstraint:0x6000000ea990 UIImageView:0x7fafc084bb60.trailing == UITableViewCellContentView:0x7fafc084b630.trailingMargin (active)>",
"<NSLayoutConstraint:0x6000000cf700 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fafc084b630.width == 375 (active)>",
"<NSLayoutConstraint:0x6000000d3250 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x600001a9a760'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':UITableViewCellContentView:0x7fafc084b630 )>",
"<NSLayoutConstraint:0x6000000d2df0 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600001a9a760'UIViewLayoutMarginsGuide']-(16)-|(LTR) (active, names: '|':UITableViewCellContentView:0x7fafc084b630 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000eb930 UILabel:0x7fafc084b7c0.width >= 261 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-14 14:59:17.647864+0200 Chatiw[17620:455807] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x6000000efb60 UILabel:0x7fafc0d0a3d0.width >= 261 (active)>",
"<NSLayoutConstraint:0x6000000d2da0 UIImageView:0x7fafc084c430.width == 62 (active)>",
"<NSLayoutConstraint:0x6000000d3b60 UILabel:0x7fafc0d0a3d0.leading >= UITableViewCellContentView:0x7fafc0d09aa0.leadingMargin (active)>",
"<NSLayoutConstraint:0x6000000d3840 H:[UILabel:0x7fafc0d0a3d0]-(51)-[UIImageView:0x7fafc084c430] (active)>",
"<NSLayoutConstraint:0x6000000d37a0 UIImageView:0x7fafc084c430.trailing == UITableViewCellContentView:0x7fafc0d09aa0.trailingMargin (active)>",
"<NSLayoutConstraint:0x6000000eac10 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fafc0d09aa0.width == 375 (active)>",
"<NSLayoutConstraint:0x6000000d05f0 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x600001a9a840'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':UITableViewCellContentView:0x7fafc0d09aa0 )>",
"<NSLayoutConstraint:0x6000000d3f20 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600001a9a840'UIViewLayoutMarginsGuide']-(16)-|(LTR) (active, names: '|':UITableViewCellContentView:0x7fafc0d09aa0 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000efb60 UILabel:0x7fafc0d0a3d0.width >= 261 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-14 14:59:17.650367+0200 Chatiw[17620:455807] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x6000000978e0 UILabel:0x7fafbe442740.width >= 261 (active)>",
"<NSLayoutConstraint:0x6000000979d0 UIImageView:0x7fafbe4429b0.width == 62 (active)>",
"<NSLayoutConstraint:0x600000097bb0 UILabel:0x7fafbe442740.leading >= UITableViewCellContentView:0x7fafbe4425b0.leadingMargin (active)>",
"<NSLayoutConstraint:0x600000097cf0 H:[UILabel:0x7fafbe442740]-(51)-[UIImageView:0x7fafbe4429b0] (active)>",
"<NSLayoutConstraint:0x600000097d40 UIImageView:0x7fafbe4429b0.trailing == UITableViewCellContentView:0x7fafbe4425b0.trailingMargin (active)>",
"<NSLayoutConstraint:0x60000009c780 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7fafbe4425b0.width == 375 (active)>",
"<NSLayoutConstraint:0x600000097f20 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x600001ade840'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe4425b0 )>",
"<NSLayoutConstraint:0x6000000efc00 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600001ade840'UIViewLayoutMarginsGuide']-(16)-|(LTR) (active, names: '|':UITableViewCellContentView:0x7fafbe4425b0 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000000978e0 UILabel:0x7fafbe442740.width >= 261 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
Anyone please can explain to me exactly what is this problem so i can understand it and how can i fix it? i already have this problem on all my table views!

It's incredibly difficult to solve these problems or warnings.
Here is ONE KEY TIP.
You can actually add a name to EVERY! constraint.
Do so.
Make the name clear and obvious like "the top constraint on the second box" or whatever.
You don't have to do every single constraint in the app, just the possibly problem ones in the relevant region.
Before anything else, you have to do that. :/
Note that there is a vast amount of discussions about this on this site, 100s of questions, eg https://stackoverflow.com/a/31833436/294884
Essentially, "your constraints have a minor problem" and specifically you likely have "one too many constraints somewhere" (or more subtly, you have to change the priority on one).
Your first step is the naming trick, to at least find out what the hell constraints Apple is referring to :/
Some suggest this BTW! http://wtfautolayout.com
For this particular question:
In this particular case, of the many, many possible problems, it turns out the OP's problem was the "two constraints" issue:
If you DO have/need two constraints, then ONE of them MUST have a DIFFERENT priority than the other.

It is a bit of hard to answer without a UI example (both the ViewController and the Cell). But it seems that the TableViewCell subviews constraints are not complying with the actual width of the cell.
You set a bigger width constraints to the label and image view distances and sizes than there is space in the screen.
An example that might work for you:
[-(leading=0)-(label)-(<=50)-(imageView=60)-(trailing=0)-]
This way there will be a minimum of 50 points constraints between the imageView and the label...
Several Suggestions:
No need to set a width constrain on the label - it should be infer from the actual text in it, just describe (with constraints) the distance to other views.
No need for setting a width/height constraints on the imageView at all and see the contentMode property for how to adapt the image in it.
Unless you want to centre the subviews within the cell, no need to set leading/trailing constraints as >= / <= just pin them to the super view (the cell in your case)
Another tip is if the label might contain a long string is to set its numberOfLines property to 0.
And set self.tableView.rowHeight = UITableViewAutomaticDimension
See this awesome explanation about TableViewCell constraints

Related

Unable to simultaneously satisfy constraints runtime error in Swift

I get this error in runtime for my ios(UIKit) application. It is coming from UITableView. The app runs without constraint errors and with the expected behavior.
I've seen other questions regarding the same error but should I leave this error as it is?
The error is partially complaining about my two UITableView which are connected through a cell(First table uses 1.6 as the aspect ratio and second view uses .55 for width/size). I'm not sure how this can be fixed since there is no problem and these views are separate.
[LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x600001575860 UIImageView:0x7f8795f474f0.width == 1.6*UIImageView:0x7f8795f474f0.height (active)>",
"<NSLayoutConstraint:0x600001575770 V:|-(10)-[UIStackView:0x7f8795f47080] (active, names: '|':UITableViewCellContentView:0x7f8795f46b50 )>",
"<NSLayoutConstraint:0x600001575810 V:[UIStackView:0x7f8795f47080]-(10)-| (active, names: '|':UITableViewCellContentView:0x7f8795f46b50 )>",
"<NSLayoutConstraint:0x600001575950 UIImageView:0x7f8795f474f0.width == 0.55*UITableViewCellContentView:0x7f8795f46b50.width (active)>",
"<NSLayoutConstraint:0x600001573f20 'UISV-alignment' UILabel:0x7f8795f47210.bottom == UIImageView:0x7f8795f474f0.bottom (active)>",
"<NSLayoutConstraint:0x600001575ae0 'UISV-alignment' UILabel:0x7f8795f47210.top == UIImageView:0x7f8795f474f0.top (active)>",
"<NSLayoutConstraint:0x60000150cdc0 'UISV-canvas-connection' UIStackView:0x7f8795f47080.top == UILabel:0x7f8795f47210.top (active)>",
"<NSLayoutConstraint:0x60000150ce60 'UISV-canvas-connection' V:[UILabel:0x7f8795f47210]-(0)-| (active, names: '|':UIStackView:0x7f8795f47080 )>",
"<NSLayoutConstraint:0x600001575cc0 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7f8795f46b50.height == 154.333 (active)>",
"<NSLayoutConstraint:0x600001575c70 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7f8795f46b50.width == 390 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600001575860 UIImageView:0x7f8795f474f0.width == 1.6*UIImageView:0x7f8795f474f0.height (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
It seems you're setting constraints to the same view twice:
"<NSLayoutConstraint:0x600001575860 UIImageView:0x7f8795f474f0.width == 1.6*UIImageView:0x7f8795f474f0.height (active)>",
"<NSLayoutConstraint:0x600001575950 UIImageView:0x7f8795f474f0.width == 0.55*UITableViewCellContentView:0x7f8795f46b50.width (active)>"

ios view resized in storyboard but does not show during runtime

i have a view with subview and tableview in it. please see picture below. i increased the height of 'CheckoutNTotal' view in storyboard and adjusted the x,y co-ordinates for 'Tbl Orders' accordingly. But when I run it in simulator, the 'CheckoutNTotal' view does not show full height. what could be going on. I have attached storyboard view, runtime view as well. Appreciate any help.
EDIT 1:
thanks for replying. did you mean 'View Debugging' under 'Debug' menu? that didn't show anything. but i do see these nasty constraints messages in console:
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.
(
"<_UILayoutSupportConstraint:0x600003a6c780 _UILayoutGuide:0x7f9269f2edd0.height == 64 (active)>",
"<_UILayoutSupportConstraint:0x600003a6c460 V:|-(0)-[_UILayoutGuide:0x7f9269f2edd0] (active, names: '|':UIView:0x7f9269f2e4f0 )>",
"<_UILayoutSupportConstraint:0x600003a6c960 _UILayoutGuide:0x7f9269f2f160.height == 49 (active)>",
"<_UILayoutSupportConstraint:0x600003a6c7d0 _UILayoutGuide:0x7f9269f2f160.bottom == UIView:0x7f9269f2e4f0.bottom (active)>",
"<NSLayoutConstraint:0x600003a6d8b0 V:|-(84)-[UIStepper:0x7f926b550320] (active, names: '|':UIView:0x7f9269f2e660 )>",
"<NSLayoutConstraint:0x600003a6da90 UILabel:0x7f9269f29c60'Tip'.centerY == UIStepper:0x7f926b550320.centerY (active)>",
"<NSLayoutConstraint:0x600003a6dbd0 V:[UILabel:0x7f9269f29c60'Tip']-(123)-| (active, names: '|':UIView:0x7f9269f2e660 )>",
"<NSLayoutConstraint:0x600003a6e260 V:[_UILayoutGuide:0x7f9269f2edd0]-(0)-[UIView:0x7f9269f2e660] (active)>",
"<NSLayoutConstraint:0x600003a6e490 V:[UIView:0x7f9269f2e660]-(342)-[_UILayoutGuide:0x7f9269f2f160] (active)>",
"<NSLayoutConstraint:0x600003a36990 'UIView-Encapsulated-Layout-Height' UIView:0x7f9269f2e4f0.height == 568 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600003a6da90 UILabel:0x7f9269f29c60'Tip'.centerY == UIStepper:0x7f926b550320.centerY (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
so i guess i need to fix them.

Silencing constraint errors when hiding table view cell

I have a tableview which has a label inside each cell:
I have set three constraints for the label:
I am hiding some of the cells in code based on some condition by setting the height to zero and setting their isHidden property to true and when that happens, I get this in console:
[LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x282c606e0 UILabel:0x157edf690'0'.top == UITableViewCellContentView:0x157edf250.topMargin + 2.5 (active)>",
"<NSLayoutConstraint:0x282c60730 UITableViewCellContentView:0x157edf250.bottomMargin == UILabel:0x157edf690'0'.bottom + 2.5 (active)>",
"<NSLayoutConstraint:0x282c60870 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x2836915e0'UIViewLayoutMarginsGuide']-(8)-| (active, names: '|':UITableViewCellContentView:0x157edf250 )>",
"<NSLayoutConstraint:0x282c60e10 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x157edf250.height == 0 (active)>",
"<NSLayoutConstraint:0x282c607d0 'UIView-topMargin-guide-constraint' V:|-(8)-[UILayoutGuide:0x2836915e0'UIViewLayoutMarginsGuide'] (active, names: '|':UITableViewCellContentView:0x157edf250 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x282c60730 UITableViewCellContentView:0x157edf250.bottomMargin == UILabel:0x157edf690'0'.bottom + 2.5 (active)>
now I have two questions:
1- Is it safe to ignore this warning?
2- I know that it may help to lower the priority in one of the constraints. but which one should it be and why?

table view Unable to simultaneously satisfy constraints

what I'm doing here? I'm trying to build an Instagram clone and in my home view controller that what should posts show up. I make navigation with a table view and that table view has 2 cell with the different identifier. cell number 1 it's a header that brings data from users table to my username label and profile image. and cell number 2 its for posts its should bring post data like image and caption. I use firebase database. the problem is my layout is a not show like what i want and its give this error:
2017-12-31 00:00:31.920010+0300 Instgram Clone[2165:463944] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x60000029af40 UIImageView:0x7fdc8765e940.height == 375 (active)>",
"<NSLayoutConstraint:0x604000284ba0 UIButton:0x7fdc874433e0.height == 30 (active)>",
"<NSLayoutConstraint:0x604000285460 V:|-(0)-[UIImageView:0x7fdc8765e940] (active, names: '|':UITableViewCellContentView:0x7fdc8765e110 )>",
"<NSLayoutConstraint:0x6040002854b0 V:[UIImageView:0x7fdc8765e940]-(7)-[UIStackView:0x7fdc87442fd0] (active)>",
"<NSLayoutConstraint:0x6040002855a0 V:[UIStackView:0x7fdc87442fd0]-(7)-[UIView:0x7fdc87441230] (active)>",
"<NSLayoutConstraint:0x604000285640 V:[UIView:0x7fdc87441230]-(7)-[UIButton:0x7fdc87441410'\U2665\Ufe0e 15 Likes'] (active)>",
"<NSLayoutConstraint:0x604000285690 V:[UIButton:0x7fdc87441410'\U2665\Ufe0e 15 Likes']-(NSSpace(8))-[UILabel:0x7fdc87442870'What a. Great day'] (active)>",
"<NSLayoutConstraint:0x6040002857d0 V:[UILabel:0x7fdc87442870'What a. Great day']-(NSSpace(8))-[UIButton:0x7fdc87442550'Be the first one share a ...'] (active)>",
"<NSLayoutConstraint:0x6040002858c0 UITableViewCellContentView:0x7fdc8765e110.bottomMargin == UILabel:0x7fdc87442b50'2 Day ago'.bottom + 12 (active)>",
"<NSLayoutConstraint:0x604000285910 V:[UIButton:0x7fdc87442550'Be the first one share a ...']-(NSSpace(8))-[UILabel:0x7fdc87442b50'2 Day ago'] (active)>",
"<NSLayoutConstraint:0x60000029c9d0 'UISV-canvas-connection' UIStackView:0x7fdc87442fd0.top == _UILayoutSpacer:0x6000001c8160'UISV-alignment-spanner'.top (active)>",
"<NSLayoutConstraint:0x604000281bd0 'UISV-canvas-connection' UIStackView:0x7fdc87442fd0.centerY == UIButton:0x7fdc874433e0.centerY (active)>",
"<NSLayoutConstraint:0x60000029c840 'UISV-spanning-boundary' _UILayoutSpacer:0x6000001c8160'UISV-alignment-spanner'.top <= UIButton:0x7fdc874433e0.top (active)>",
"<NSLayoutConstraint:0x604000285cd0 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fdc8765e110.height == 58.5 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x604000284ba0 UIButton:0x7fdc874433e0.height == 30 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
just for knowledge :
postcell = header of view
imagecell = the post of view
header cell constraints
post cell constraints
Continue with post cell constraints
this image to my result layout when the running app
my new error message when I fix the content view high :
2018-01-01 02:56:25.304650+0300 Instgram Clone[1217:35419] Month 13 is out of bounds
2018-01-01 02:56:25.312217+0300 Instgram Clone[1217:35419] Month 13 is out of bounds
2018-01-01 02:56:25.338368+0300 Instgram Clone[1217:35424] Month 13 is out of bounds
2018-01-01 02:56:25.343009+0300 Instgram Clone[1217:35431] Month 13 is out of bounds
2018-01-01 02:56:25.374175+0300 Instgram Clone[1217:35323] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x600000483750 UIImageView:0x7fdf61548390.height == 36 (active)>",
"<NSLayoutConstraint:0x600000483d90 V:[UIImageView:0x7fdf61548390]-(8.5)-| (active, names: '|':UITableViewCellContentView:0x7fdf615481a0 )>",
"<NSLayoutConstraint:0x600000483de0 V:|-(12)-[UIImageView:0x7fdf61548390] (active, names: '|':UITableViewCellContentView:0x7fdf615481a0 )>",
"<NSLayoutConstraint:0x604000482530 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fdf615481a0.height == 57 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600000483750 UIImageView:0x7fdf61548390.height == 36 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

iOS - how to fix broken constraints of AutoLayout?

I am using AutoLayout to configure views of my iOS app.
Everything went smoothly, but I got some problems recently.
A plethora of dirty warning alerts were printed on the log screen and the app was became very slowly.
But compiling complete successfully and the screen was configured as I wanted it to be.
The below log is a part of "A plethora of dirty warning alerts" but isn't related my core question. So It's okay to ignore this.
[LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x170280f00 UIView:0x10296ee30.width == UIView:0x102971940.width (active)>",
"<NSLayoutConstraint:0x170281040 H:|-(0)-[UIView:0x102971940] (active, names: '|':Common.TopFilterView:0x102b2d9b0 )>",
"<NSLayoutConstraint:0x170281090 H:[UIView:0x102971940]-(0)-| (active, names: '|':Common.TopFilterView:0x102b2d9b0 )>",
"<NSLayoutConstraint:0x170281310 Common.TopFilterView:0x102b2d9b0.trailing == UIView:0x102971ae0.trailing - 8 (active)>",
"<NSLayoutConstraint:0x170281360 H:|-(8)-[Common.TopFilterView:0x102b2d9b0] (active, names: '|':UIView:0x102971ae0 )>",
"<NSLayoutConstraint:0x170280ff0 H:|-(0)-[UIView:0x102971ae0] (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x1702810e0 H:[UIView:0x102971ae0]-(0)-| (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x170282e40 '_UITemporaryLayoutWidth' dealer.CarAuctionHeaderView:0x10296ded0.width == 0 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x170280f00 UIView:0x10296ee30.width == UIView:0x102971940.width (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2017-10-11 11:52:35.171573 dealer[633:151926] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x170281310 Common.TopFilterView:0x102b2d9b0.trailing == UIView:0x102971ae0.trailing - 8 (active)>",
"<NSLayoutConstraint:0x170281360 H:|-(8)-[Common.TopFilterView:0x102b2d9b0] (active, names: '|':UIView:0x102971ae0 )>",
"<NSLayoutConstraint:0x170280ff0 H:|-(0)-[UIView:0x102971ae0] (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x1702810e0 H:[UIView:0x102971ae0]-(0)-| (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x170282e40 '_UITemporaryLayoutWidth' dealer.CarAuctionHeaderView:0x10296ded0.width == 0 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x170281310 Common.TopFilterView:0x102b2d9b0.trailing == UIView:0x102971ae0.trailing - 8 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2017-10-11 11:52:35.172660 dealer[633:151926] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x174098970 Common.TopFilterView:0x102b2d9b0.height == 24 (active)>",
"<NSLayoutConstraint:0x17009fe50 Common.AuctionBoardView:0x10296e650.height == 32 (active)>",
"<NSLayoutConstraint:0x170281270 V:|-(0)-[Common.AuctionBoardView:0x10296e650] (active, names: '|':UIView:0x102971ae0 )>",
"<NSLayoutConstraint:0x1702811d0 Common.TopFilterView:0x102b2d9b0.bottom == UIView:0x102971ae0.bottom - 8 (active)>",
"<NSLayoutConstraint:0x1702813b0 V:[Common.AuctionBoardView:0x10296e650]-(18)-[Common.TopFilterView:0x102b2d9b0] (active)>",
"<NSLayoutConstraint:0x170281540 V:|-(0)-[UIView:0x102971ae0] (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x170281590 V:[UIView:0x102971ae0]-(0)-| (active, names: '|':dealer.CarAuctionHeaderView:0x10296ded0 )>",
"<NSLayoutConstraint:0x170283fc0 '_UITemporaryLayoutHeight' dealer.CarAuctionHeaderView:0x10296ded0.height == 0 (active)>"
)
Not all of these were errors I could understand, but I solved these to various methods.
However, A type of error still exists that I really can't understand.
[LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x170490900 V:|-(0)-[Common.RippleView:0x10a2d3600] (active, names: '|':Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80' )>",
"<NSLayoutConstraint:0x17068d890 V:[Common.RippleView:0x10a2d3600]-(0)-| (active, names: '|':Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80' )>",
"<NSLayoutConstraint:0x170681ae0 'UISV-canvas-connection' UIStackView:0x10b745ee0.top == Common.DetailProgressView:0x10b7460a0'\Uac80\Ucc28\Uacb0\Uacfc'.top (active)>",
"<NSLayoutConstraint:0x170681b80 'UISV-canvas-connection' V:[Common.DetailProgressView:0x10a2d9840'\Uc774\Uc804\Ub4f1\Ub85d\Uc99d']-(0)-| (active, names: '|':UIStackView:0x10b745ee0 )>",
"<NSLayoutConstraint:0x170681ea0 'UISV-hiding' UIStackView:0x10b745ee0.height == 0 (active)>",
"<NSLayoutConstraint:0x170681c20 'UISV-spacing' V:[Common.DetailProgressView:0x10b7460a0'\Uac80\Ucc28\Uacb0\Uacfc']-(8)-[Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80'] (active)>",
"<NSLayoutConstraint:0x1706817c0 'UISV-spacing' V:[Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80']-(8)-[Common.DetailProgressView:0x10a2d9840'\Uc774\Uc804\Ub4f1\Ub85d\Uc99d'] (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x17068d890 V:[Common.RippleView:0x10a2d3600]-(0)-| (active, names: '|':Common.DetailProgressView:0x10a2f2ac0'성능점검기록부' )>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2017-10-11 15:31:54.657816 dealer[306:22643] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x170681ae0 'UISV-canvas-connection' UIStackView:0x10b745ee0.top == Common.DetailProgressView:0x10b7460a0'\Uac80\Ucc28\Uacb0\Uacfc'.top (active)>",
"<NSLayoutConstraint:0x170681b80 'UISV-canvas-connection' V:[Common.DetailProgressView:0x10a2d9840'\Uc774\Uc804\Ub4f1\Ub85d\Uc99d']-(0)-| (active, names: '|':UIStackView:0x10b745ee0 )>",
"<NSLayoutConstraint:0x170681ea0 'UISV-hiding' UIStackView:0x10b745ee0.height == 0 (active)>",
"<NSLayoutConstraint:0x170681c20 'UISV-spacing' V:[Common.DetailProgressView:0x10b7460a0'\Uac80\Ucc28\Uacb0\Uacfc']-(8)-[Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80'] (active)>",
"<NSLayoutConstraint:0x1706817c0 'UISV-spacing' V:[Common.DetailProgressView:0x10a2f2ac0'\Uc131\Ub2a5\Uc810\Uac80\Uae30\Ub85d\Ubd80']-(8)-[Common.DetailProgressView:0x10a2d9840'\Uc774\Uc804\Ub4f1\Ub85d\Uc99d'] (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1706817c0 'UISV-spacing' V:[Common.DetailProgressView:0x10a2f2ac0'성능점검기록부']-(8)-[Common.DetailProgressView:0x10a2d9840'이전등록증'] (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2017-10-11 15:31:54.658671 dealer[306:22643] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x17069b8a0 'UISV-canvas-connection' UIStackView:0x10a0cdf70.top == Common.HDLabel:0x102dc5340'\Uacac\Uc801\Uc774 \Ub192\Uc740 \Uc21c\Uc73c\Ub85c \Uc815\Ub82c\Ub429\Ub2c8\Ub2e4.'.top (active)>",
"<NSLayoutConstraint:0x17069b9e0 'UISV-canvas-connection' V:[Common.ReceivedEstimateView:0x10a0a8220]-(0)-| (active, names: '|':UIStackView:0x10a0cdf70 )>",
"<NSLayoutConstraint:0x174499f50 'UISV-hiding' UIStackView:0x10a0cdf70.height == 0 (active)>",
"<NSLayoutConstraint:0x17069bc60 'UISV-spacing' V:[Common.HDLabel:0x102dc5340'\Uacac\Uc801\Uc774 \Ub192\Uc740 \Uc21c\Uc73c\Ub85c \Uc815\Ub82c\Ub429\Ub2c8\Ub2e4.']-(8)-[Common.ReceivedEstimateView:0x10a0a8220] (active)>"
)
I suspect that these are related to the spacing of hidden UIStackView.
Because all of troubled views are in the hidden UIStackView. And the only thing that exists between them is the spacing of UIStackView.
But I can't adjust the spacing of UIStackView using AutoLayout. (Maybe everyone is too. Aren't?)
So I don't know how to solve this problem. I want to know the cause and solution of this problem.
Thanks.

Resources