UITableViewCell Auto-Layout Constraint Problems - ios

I am getting the Unable to simultaneously satisfy constraints. error in the debugger. I understand that this type of question has been asked on SO many times and I know about how to track the constraints to see what the problem is - but this problem makes no sense to me. I am using the UITableViewAutomaticDimension feature to auto-resize my cells. Below are my constraints. To simplify the image, every object on the image has a specified height except for the postTextView, which has flexible height so that it can expand with different amounts of text. I want everything else to have a specific height.
Once the constraints are broken, as it states it will try in the console, the layout on-screen is correct and everything behaves as I would expect.
Here is the error that I get when running the app:
2017-08-02 23:29:29.932838-0400 StudyHub[35782:3472431] [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:0x60400048e9c0 UIImageView:0x7fe16cd55110.height == 55 (active)>",
"<NSLayoutConstraint:0x60400048b680 UIButton:0x7fe16cd5a1d0'0'.height == 25 (active)>",
"<NSLayoutConstraint:0x60400048ee70 UIStackView:0x7fe16cd5cf60.height == 308 (active)>",
"<NSLayoutConstraint:0x60400048f550 V:|-(8)-[UIImageView:0x7fe16cd55110] (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (active)>",
"<NSLayoutConstraint:0x60400048f780 V:[UITextView:0x7fe16d8ff000'This is a test of the pos...']-(8)-[UIStackView:0x7fe16cd5cf60] (active)>",
"<NSLayoutConstraint:0x60400048f8c0 V:[UIStackView:0x7fe16cd5cf60]-(8)-[UIButton:0x7fe16cd5a1d0'0'] (active)>",
"<NSLayoutConstraint:0x60400048f910 V:[UIButton:0x7fe16cd5a1d0'0']-(8)-| (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048fb90 V:|-(8)-[UIView:0x7fe16cd543b0] (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x60400048fc30 V:[UIView:0x7fe16cd543b0]-(8)-| (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x600000499460 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fe16cd53650.height == 50 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60400048ee70 UIStackView:0x7fe16cd5cf60.height == 308 (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-08-02 23:29:29.962013-0400 StudyHub[35782:3472431] [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:0x60400048e9c0 UIImageView:0x7fe16cd55110.height == 55 (active)>",
"<NSLayoutConstraint:0x60400048b680 UIButton:0x7fe16cd5a1d0'0'.height == 25 (active)>",
"<NSLayoutConstraint:0x60400048f550 V:|-(8)-[UIImageView:0x7fe16cd55110] (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (active)>",
"<NSLayoutConstraint:0x60400048f780 V:[UITextView:0x7fe16d8ff000'This is a test of the pos...']-(8)-[UIStackView:0x7fe16cd5cf60] (active)>",
"<NSLayoutConstraint:0x60400048f8c0 V:[UIStackView:0x7fe16cd5cf60]-(8)-[UIButton:0x7fe16cd5a1d0'0'] (active)>",
"<NSLayoutConstraint:0x60400048f910 V:[UIButton:0x7fe16cd5a1d0'0']-(8)-| (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048fb90 V:|-(8)-[UIView:0x7fe16cd543b0] (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x60400048fc30 V:[UIView:0x7fe16cd543b0]-(8)-| (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x6000004990f0 'UISV-canvas-connection' UIStackView:0x7fe16cd5cf60.top == UIStackView:0x7fe16cd5d9c0.top (active)>",
"<NSLayoutConstraint:0x600000498fb0 'UISV-canvas-connection' V:[UIStackView:0x7fe16cd5e110]-(0)-| (active, names: '|':UIStackView:0x7fe16cd5cf60 )>",
"<NSLayoutConstraint:0x600000499190 'UISV-fill-equally' UIStackView:0x7fe16cd5e110.height == UIStackView:0x7fe16cd5d9c0.height (active)>",
"<NSLayoutConstraint:0x6000004991e0 'UISV-spacing' V:[UIStackView:0x7fe16cd5d9c0]-(8)-[UIStackView:0x7fe16cd5e110] (active)>",
"<NSLayoutConstraint:0x600000499460 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fe16cd53650.height == 50 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000004991e0 'UISV-spacing' V:[UIStackView:0x7fe16cd5d9c0]-(8)-[UIStackView:0x7fe16cd5e110] (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-08-02 23:29:29.963167-0400 StudyHub[35782:3472431] [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:0x60400048e9c0 UIImageView:0x7fe16cd55110.height == 55 (active)>",
"<NSLayoutConstraint:0x60400048b680 UIButton:0x7fe16cd5a1d0'0'.height == 25 (active)>",
"<NSLayoutConstraint:0x60400048f550 V:|-(8)-[UIImageView:0x7fe16cd55110] (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (active)>",
"<NSLayoutConstraint:0x60400048f780 V:[UITextView:0x7fe16d8ff000'This is a test of the pos...']-(8)-[UIStackView:0x7fe16cd5cf60] (active)>",
"<NSLayoutConstraint:0x60400048f8c0 V:[UIStackView:0x7fe16cd5cf60]-(8)-[UIButton:0x7fe16cd5a1d0'0'] (active)>",
"<NSLayoutConstraint:0x60400048f910 V:[UIButton:0x7fe16cd5a1d0'0']-(8)-| (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048fb90 V:|-(8)-[UIView:0x7fe16cd543b0] (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x60400048fc30 V:[UIView:0x7fe16cd543b0]-(8)-| (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x600000499460 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fe16cd53650.height == 50 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60400048e9c0 UIImageView:0x7fe16cd55110.height == 55 (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-08-02 23:29:29.963961-0400 StudyHub[35782:3472431] [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:0x60400048b680 UIButton:0x7fe16cd5a1d0'0'.height == 25 (active)>",
"<NSLayoutConstraint:0x60400048f550 V:|-(8)-[UIImageView:0x7fe16cd55110] (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (active)>",
"<NSLayoutConstraint:0x60400048f780 V:[UITextView:0x7fe16d8ff000'This is a test of the pos...']-(8)-[UIStackView:0x7fe16cd5cf60] (active)>",
"<NSLayoutConstraint:0x60400048f8c0 V:[UIStackView:0x7fe16cd5cf60]-(8)-[UIButton:0x7fe16cd5a1d0'0'] (active)>",
"<NSLayoutConstraint:0x60400048f910 V:[UIButton:0x7fe16cd5a1d0'0']-(8)-| (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048fb90 V:|-(8)-[UIView:0x7fe16cd543b0] (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x60400048fc30 V:[UIView:0x7fe16cd543b0]-(8)-| (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x600000499460 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fe16cd53650.height == 50 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60400048b680 UIButton:0x7fe16cd5a1d0'0'.height == 25 (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-08-02 23:29:29.964742-0400 StudyHub[35782:3472431] [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:0x60400048f550 V:|-(8)-[UIImageView:0x7fe16cd55110] (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (active)>",
"<NSLayoutConstraint:0x60400048f780 V:[UITextView:0x7fe16d8ff000'This is a test of the pos...']-(8)-[UIStackView:0x7fe16cd5cf60] (active)>",
"<NSLayoutConstraint:0x60400048f8c0 V:[UIStackView:0x7fe16cd5cf60]-(8)-[UIButton:0x7fe16cd5a1d0'0'] (active)>",
"<NSLayoutConstraint:0x60400048f910 V:[UIButton:0x7fe16cd5a1d0'0']-(8)-| (active, names: '|':UIView:0x7fe16cd543b0 )>",
"<NSLayoutConstraint:0x60400048fb90 V:|-(8)-[UIView:0x7fe16cd543b0] (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x60400048fc30 V:[UIView:0x7fe16cd543b0]-(8)-| (active, names: '|':UITableViewCellContentView:0x7fe16cd53650 )>",
"<NSLayoutConstraint:0x600000499460 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fe16cd53650.height == 50 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60400048f640 V:[UIImageView:0x7fe16cd55110]-(8)-[UITextView:0x7fe16d8ff000'This is a test of the pos...'] (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.

Seems like you also need to set the width constraint on your imageView. And also you can try debugging your autolayout constraint by clicking on debug view hierarchy below.

In Swift 4 I am creating a demo project:- As per you UIViewController.
UIViewController Demo:
Please Check the constraints I hope it will work:-

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

Why do I get a constraint error with UIDatePicker and static UITableView?

I'm building a form to enter data in an application, and I'm using a UITableView built only with static cells, as the fields the user needs to fill won't change. One of these fields is a date. For this field, I'm trying to use a UIDatePicker set to .compact, so it shows the date in one line, and when the user taps the date a modal calendar will be displayed (new iOS 14 behavior).
The problem is that every time I tap the date (in the simulator), I get the constraint error detailed below:
[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.
(
"<_UISystemBaselineConstraint:0x60000343e3a0 H:[_UIDatePickerLinkedLabel:0x7fb3a0d79f10]-(NSLayoutAnchorConstraintSpace(8))-[UILayoutGuide:0x600002e207e0''] (active)>",
"<_UISystemBaselineConstraint:0x60000343e8a0 H:[UILayoutGuide:0x600002e207e0'']-(>=NSLayoutAnchorConstraintSpace(8))-[_UIDatePickerTouchOutsetButton:0x7fb3a0d7acc0] (active)>",
"<NSLayoutConstraint:0x6000034373e0 UILabel:0x7fb3a0d7a0d0.trailing <= _UIDatePickerLinkedLabel:0x7fb3a0d79f10.trailing (active)>",
"<NSLayoutConstraint:0x6000034372a0 H:|-(0)-[UILabel:0x7fb3a0d7a0d0] (active, names: '|':_UIDatePickerLinkedLabel:0x7fb3a0d79f10 )>",
"<NSLayoutConstraint:0x60000343e210 _UIDatePickerLinkedLabel:0x7fb3a0d79f10.leading == UILayoutGuide:0x600002e208c0'UIViewLayoutMarginsGuide'.leading (active)>",
"<NSLayoutConstraint:0x60000343e2b0 H:[_UIDatePickerTouchOutsetButton:0x7fb3a0d7acc0]-(28)-[_UIDatePickerTouchOutsetButton:0x7fb3a0d7afc0] (active)>",
"<NSLayoutConstraint:0x60000343e120 _UIDatePickerTouchOutsetButton:0x7fb3a0d7afc0.trailing == UILayoutGuide:0x600002e208c0'UIViewLayoutMarginsGuide'.trailing (active)>",
"<NSLayoutConstraint:0x600003441fe0 UILayoutGuide:0x600002e207e0''.width == UIImageView:0x7fb3a0d7aaf0.width (active)>",
"<NSLayoutConstraint:0x600003429950 _UIDatePickerCalendarContentStackView:0x7fb3a0d76c60.width <= _UIDatePickerCalendarView:0x7fb3a0d9e2a0.width (active)>",
"<NSLayoutConstraint:0x600003449f40 H:|-(0)-[_UIDatePickerCalendarView:0x7fb3a0d9e2a0] (active, names: '|':UIDatePicker:0x7fb3a0d23900 )>",
"<NSLayoutConstraint:0x600003449ef0 _UIDatePickerCalendarView:0x7fb3a0d9e2a0.trailing == UIDatePicker:0x7fb3a0d23900.trailing (active)>",
"<NSLayoutConstraint:0x600003420190 H:|-(8)-[UIDatePicker:0x7fb3a0d23900] (active, names: '|':UIView:0x7fb3a0e78db0 )>",
"<NSLayoutConstraint:0x6000034201e0 UIDatePicker:0x7fb3a0d23900.trailing == UIView:0x7fb3a0e78db0.trailing - 8 (active)>",
"<NSLayoutConstraint:0x600003425ea0 'UISV-canvas-connection' _UIDatePickerCalendarContentStackView:0x7fb3a0d76c60.leading == _UIDatePickerCalendarHeaderView:0x7fb3a0d76df0.leading (active)>",
"<NSLayoutConstraint:0x600003425f40 'UISV-canvas-connection' H:[_UIDatePickerCalendarHeaderView:0x7fb3a0d76df0]-(0)-| (active, names: '|':_UIDatePickerCalendarContentStackView:0x7fb3a0d76c60 )>",
"<NSLayoutConstraint:0x600003442940 'UIView-Encapsulated-Layout-Width' UIView:0x7fb3a0e78db0.width == 0 (active)>",
"<NSLayoutConstraint:0x6000034378e0 'UIView-leftMargin-guide-constraint' H:|-(8)-[UILayoutGuide:0x600002e208c0'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':_UIDatePickerCalendarHeaderView:0x7fb3a0d76df0 )>",
"<NSLayoutConstraint:0x600003437980 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600002e208c0'UIViewLayoutMarginsGuide']-(8)-|(LTR) (active, names: '|':_UIDatePickerCalendarHeaderView:0x7fb3a0d76df0 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000034373e0 UILabel:0x7fb3a0d7a0d0.trailing <= _UIDatePickerLinkedLabel:0x7fb3a0d79f10.trailing (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.
I've tried to set constraints to the date picker in the static cell, but the error persists. I've also tried leaving the picker without any constraints, without luck.
Any ideas about what could be the issue here? I'm probably doing some basic mistake, but I couldn't identify it.
Environment:
Swift 5
iOS 14.x
Looking at your error message UILabel:0x7fb3a0d7a0d0.trailing <= _UIDatePickerLinkedLabel:0x7fb3a0d79f10.trailing (active)>
I figured out that your Cells label constraint are added to Picker view.
Remove all picker constraints from Cell and make it relative to controllers view.

Changing focus from UITextView to UITextField breaks constraints

When I click to change focus from a UITextView to a UITextField I get the following console output. The UITextView must have focus first such that the keyboard is already displayed.
It only seems to occur when I test on an iPad with "Connect Hardware Keyboard" selected. Is there anything I can do to remedy this? Using Xcode 9.4.1.
2018-07-18 14:59:38.154928-0500 SingleViewTest[12870:502137] [MC] System group container for systemgroup.com.apple.configurationprofiles path is ...
2018-07-18 14:59:38.163269-0500 SingleViewTest[12870:502137] [MC] Reading from private effective user settings.
2018-07-18 14:59:39.084531-0500 SingleViewTest[12870:502137] [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.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x60c000284ce0 h=--& v=--& UIKeyboardAssistantBar:0x7f9b6840e5c0.height == 0 (active)>",
"<NSLayoutConstraint:0x60800009e230 V:|-(0)-[_UIButtonBarStackView:0x7f9b6840f240] (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60800009e280 V:[_UIButtonBarStackView:0x7f9b6840f240]-(0)-| (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60c000281900 'UIButtonBar.maximumAlignmentSize' _UIButtonBarButton:0x7f9b68644c70.height == UILayoutGuide:0x6080001b5540'UIViewLayoutMarginsGuide'.height (active)>",
"<NSLayoutConstraint:0x60800009d6f0 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b5540'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b6840f240 )>",
"<NSLayoutConstraint:0x60800009d650 'UIView-topMargin-guide-constraint' V:|-(10)-[UILayoutGuide:0x6080001b5540'UIViewLayoutMarginsGuide'] (active, names: '|':_UIButtonBarStackView:0x7f9b6840f240 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60800009d6f0 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b5540'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b6840f240 )>
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.
2018-07-18 14:59:39.085841-0500 SingleViewTest[12870:502137] [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.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x60c000284ce0 h=--& v=--& UIKeyboardAssistantBar:0x7f9b6840e5c0.height == 0 (active)>",
"<NSLayoutConstraint:0x60800009e2d0 V:|-(0)-[_UIButtonBarStackView:0x7f9b6840fff0] (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60800009e320 V:[_UIButtonBarStackView:0x7f9b6840fff0]-(0)-| (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60c000283660 'UIButtonBar.maximumAlignmentSize' UIView:0x7f9b684117d0.height == UILayoutGuide:0x6080001b58c0'UIViewLayoutMarginsGuide'.height (active)>",
"<NSLayoutConstraint:0x60800009da10 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b58c0'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b6840fff0 )>",
"<NSLayoutConstraint:0x60800009d970 'UIView-topMargin-guide-constraint' V:|-(10)-[UILayoutGuide:0x6080001b58c0'UIViewLayoutMarginsGuide'] (active, names: '|':_UIButtonBarStackView:0x7f9b6840fff0 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60800009da10 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b58c0'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b6840fff0 )>
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.
2018-07-18 14:59:39.086724-0500 SingleViewTest[12870:502137] [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.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x60c000284ce0 h=--& v=--& UIKeyboardAssistantBar:0x7f9b6840e5c0.height == 0 (active)>",
"<NSLayoutConstraint:0x60800009e1e0 V:|-(0)-[_UIButtonBarStackView:0x7f9b68410d80] (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60800009e370 V:[_UIButtonBarStackView:0x7f9b68410d80]-(0)-| (active, names: '|':UIKeyboardAssistantBar:0x7f9b6840e5c0 )>",
"<NSLayoutConstraint:0x60c000283f20 'UIButtonBar.maximumAlignmentSize' _UIButtonBarButton:0x7f9b6864e560.height == UILayoutGuide:0x6080001b5c40'UIViewLayoutMarginsGuide'.height (active)>",
"<NSLayoutConstraint:0x60800009dd30 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b5c40'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b68410d80 )>",
"<NSLayoutConstraint:0x60800009dc90 'UIView-topMargin-guide-constraint' V:|-(10)-[UILayoutGuide:0x6080001b5c40'UIViewLayoutMarginsGuide'] (active, names: '|':_UIButtonBarStackView:0x7f9b68410d80 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60800009dd30 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6080001b5c40'UIViewLayoutMarginsGuide']-(9)-| (active, names: '|':_UIButtonBarStackView:0x7f9b68410d80 )>
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.
Edit: A similar message appears when a UITextView loses focus after clicking a button.
Edit: storyboard

UIView used as separator messed up my constraints

I used UIView as separator for my UITableViewCells but on removal of the cell I didn't use any method to delete the UIView too. I don't know if the UIView is removed when I remove the cells but some of my buttons constraints on other UIViewControllers messed up.
For those buttons I used a method to bind them to the keyboard (stick to bottom when keyboard is not active, stick to keyboard when keyboard is active) which worked perfect (tested it for a week) until I added this uiview as separator method. Despite deleting the method, my constraints are still f*kd up and I get this in the debugger
"<NSAutoresizingMaskLayoutConstraint:0x60000029d6a0 h=--& v=--& UIButton:0x7f9a07538760'ADAUGA'.width == 320 (active)>",
"<NSLayoutConstraint:0x604000296e40 UIButton:0x7f9a07538760'ADAUGA'.leading == UILayoutGuide:0x6040007a0540'UIViewSafeAreaLayoutGuide'.leading (active)>",
"<NSLayoutConstraint:0x604000296df0 UIButton:0x7f9a07538760'ADAUGA'.trailing == UILayoutGuide:0x6040007a0540'UIViewSafeAreaLayoutGuide'.trailing (active)>",
"<NSLayoutConstraint:0x60000029bcb0 'UIView-Encapsulated-Layout-Width' UIView:0x7f9a07640bb0.width == 414 (active)>",
"<NSLayoutConstraint:0x604000292e30 'UIViewSafeAreaLayoutGuide-left' H:|-(0)-[UILayoutGuide:0x6040007a0540'UIViewSafeAreaLayoutGuide'](LTR) (active, names: '|':UIView:0x7f9a07640bb0 )>",
"<NSLayoutConstraint:0x604000293100 'UIViewSafeAreaLayoutGuide-right' H:[UILayoutGuide:0x6040007a0540'UIViewSafeAreaLayoutGuide']-(0)-|(LTR) (active, names: '|':UIView:0x7f9a07640bb0 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x604000296df0 UIButton:0x7f9a07538760'ADAUGA'.trailing == UILayoutGuide:0x6040007a0540'UIViewSafeAreaLayoutGuide'.trailing (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 10:37:32.670217+0300 Expense Manager[2853:71957] [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.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x60000029d290 h=--& v=--& UIButton:0x7f9a07538760'ADAUGA'.midY == 540 (active)>",
"<NSAutoresizingMaskLayoutConstraint:0x60000029d5b0 h=--& v=--& UIButton:0x7f9a07538760'ADAUGA'.height == 56 (active)>",
"<NSLayoutConstraint:0x604000294d70 V:[UIButton:0x7f9a07538760'ADAUGA']-(0)-| (active, names: '|':UIView:0x7f9a07640bb0 )>",
"<NSLayoutConstraint:0x60000029bbc0 'UIView-Encapsulated-Layout-Height' UIView:0x7f9a07640bb0.height == 736 (active)>",
"<NSAutoresizingMaskLayoutConstraint:0x60000029b990 h=-&- v=-&- 'UIView-Encapsulated-Layout-Top' UIView:0x7f9a07640bb0.minY == 0 (active, names: '|':UITransitionView:0x7f9a0770b780 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x604000294d70 V:[UIButton:0x7f9a07538760'ADAUGA']-(0)-| (active, names: '|':UIView:0x7f9a07640bb0 )>
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.
Here is a picture. Instead of that button being binded to left, right and bottom, it looks like this
Is there any method I can do to delete those UIViews that I created or what can I do to get my constraints back to normal.

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