Skip to content

Instantly share code, notes, and snippets.

@daveanderson
Created November 27, 2012 04:54
Show Gist options
  • Save daveanderson/4152460 to your computer and use it in GitHub Desktop.
Save daveanderson/4152460 to your computer and use it in GitHub Desktop.
Autolayout Debugging
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:0x12ce5af0 V:[UIView:0x12cdeb00(>=8)]>",
"<NSLayoutConstraint:0x12ce58f0 V:[UITextView:0x139b9000(>=80)]>",
"<NSLayoutConstraint:0x12ce56b0 V:[WJFormLabel:0x12cd0070]-(0)-[UITextView:0x139bbe00]>",
"<NSLayoutConstraint:0x12ce5670 V:[WJFormLabel:0x12cd0070(>=40)]>",
"<NSLayoutConstraint:0x12ce5480 V:[WJFormLabel:0x12cd4ec0(>=40)]>",
"<NSLayoutConstraint:0x12ce5630 V:[UIView:0x12ccff50]-(0)-[WJFormLabel:0x12cd0070]>",
"<NSLayoutConstraint:0x12ce5770 V:[UIView:0x12cd4da0(>=8)]>",
"<NSLayoutConstraint:0x12ce55b0 V:[UITextView:0x139bb200]-(1)-[UIView:0x12ccff50]>",
"<NSLayoutConstraint:0x12ce56f0 V:[UITextView:0x139bbe00(>=80)]>",
"<NSLayoutConstraint:0x12ce5530 V:[WJFormLabel:0x12ccb270]-(0)-[UITextView:0x139bb200]>",
"<NSLayoutConstraint:0x12ce5240 V:[UIView:0x12ccb150]-(0)-[WJFormLabel:0x12ccb270]>",
"<NSLayoutConstraint:0x12ce55f0 V:[UIView:0x12ccff50(>=8)]>",
"<NSLayoutConstraint:0x12ce5400 V:[UITextView:0x139ba600]-(1)-[UIView:0x12ccb150]>",
"<NSLayoutConstraint:0x12ce5570 V:[UITextView:0x139bb200(>=80)]>",
"<NSLayoutConstraint:0x12ce5380 V:[WJFormLabel:0x12cc6450]-(0)-[UITextView:0x139ba600]>",
"<NSLayoutConstraint:0x12ce54f0 V:[WJFormLabel:0x12ccb270(>=40)]>",
"<NSLayoutConstraint:0x12ce5300 V:[UIView:0x12cc6330]-(0)-[WJFormLabel:0x12cc6450]>",
"<NSLayoutConstraint:0x12ce5440 V:[UIView:0x12ccb150(>=8)]>",
"<NSLayoutConstraint:0x12ce5280 V:[UITextView:0x139b7400]-(1)-[UIView:0x12cc6330]>",
"<NSLayoutConstraint:0x12ce5200 V:[UITextView:0x139b7400(>=80)]>",
"<NSLayoutConstraint:0x12ce51c0 V:[WJFormLabel:0x12c320f0]-(0)-[UITextView:0x139b7400]>",
"<NSLayoutConstraint:0x12ce53c0 V:[UITextView:0x139ba600(>=80)]>",
"<NSLayoutConstraint:0x12ce5340 V:[WJFormLabel:0x12cc6450(>=40)]>",
"<NSLayoutConstraint:0x12ce5120 V:[UIView:0x12c6a190]-(0)-[WJFormLabel:0x12c320f0]>",
"<NSLayoutConstraint:0x12ce52c0 V:[UIView:0x12cc6330(>=8)]>",
"<NSLayoutConstraint:0x12ce50e0 V:[UIView:0x12c6a190(>=8)]>",
"<NSLayoutConstraint:0x12ce50a0 V:[UITextView:0x13998000]-(1)-[UIView:0x12c6a190]>",
"<NSLayoutConstraint:0x12ce5050 V:[UITextView:0x13998000(>=80)]>",
"<NSLayoutConstraint:0x12ce5010 V:[WJFormLabel:0x12cb65e0]-(0)-[UITextView:0x13998000]>",
"<NSLayoutConstraint:0x12ce5180 V:[WJFormLabel:0x12c320f0(>=40)]>",
"<NSLayoutConstraint:0x12ce4fc0 V:[WJFormLabel:0x12cb65e0(>=40)]>",
"<NSLayoutConstraint:0x12ce4f60 V:|-(0)-[WJFormLabel:0x12cb65e0] (Names: '|':RootSlideView:0x12cb2710 )>",
"<NSLayoutConstraint:0x12c9c480 V:[WJFormLabel:0x12c99990]-(>=1)-| (Names: '|':RootSlideView:0x12c8c6a0 )>",
"<NSLayoutConstraint:0x12c9c400 V:[WJFormLabel:0x12c97e60]-(1)-[WJFormLabel:0x12c99990]>",
"<NSLayoutConstraint:0x12c9c380 V:[WJFormLabel:0x12c97e60(>=40)]>",
"<NSLayoutConstraint:0x12c9c340 V:[WJFormLabel:0x12c95fe0]-(1)-[WJFormLabel:0x12c97e60]>",
"<NSLayoutConstraint:0x12c9c2a0 V:[WJFormLabel:0x12c942c0]-(1)-[WJFormLabel:0x12c95fe0]>",
"<NSLayoutConstraint:0x12c9c440 V:[WJFormLabel:0x12c99990(>=40)]>",
"<NSLayoutConstraint:0x12c9c260 V:[WJFormLabel:0x12c942c0(>=40)]>",
"<NSLayoutConstraint:0x12c9c220 V:[WJFormLabel:0x12c8fdb0]-(1)-[WJFormLabel:0x12c942c0]>",
"<NSLayoutConstraint:0x12c9c1e0 V:[WJFormLabel:0x12c8fdb0(>=40)]>",
"<NSLayoutConstraint:0x12c9c190 V:[WJFormLabel:0x12c8f940]-(0)-[WJFormLabel:0x12c8fdb0]>",
"<NSLayoutConstraint:0x12c9c300 V:[WJFormLabel:0x12c95fe0(>=40)]>",
"<NSLayoutConstraint:0x12c9c130 V:[WJFormLabel:0x12c8f940(>=40)]>",
"<NSLayoutConstraint:0x12c9c0d0 V:|-(0)-[WJFormLabel:0x12c8f940] (Names: '|':RootSlideView:0x12c8c6a0 )>",
"<NSLayoutConstraint:0x12c81510 V:[WJFormLabel:0x12c7f720]-(>=1)-| (Names: '|':RootSlideView:0x12c7d470 )>",
"<NSLayoutConstraint:0x12c814d0 V:[WJFormLabel:0x12c7f720(>=40)]>",
"<NSLayoutConstraint:0x12c81490 V:[WJFormLabel:0x12c7df50]-(1)-[WJFormLabel:0x12c7f720]>",
"<NSLayoutConstraint:0x12c81450 V:[WJFormLabel:0x12c7df50(>=40)]>",
"<NSLayoutConstraint:0x12c81410 V:[WJFormLabel:0x12c7dae0]-(0)-[WJFormLabel:0x12c7df50]>",
"<NSLayoutConstraint:0x12c813d0 V:[WJFormLabel:0x12c7dae0(>=40)]>",
"<NSLayoutConstraint:0x12c81370 V:|-(0)-[WJFormLabel:0x12c7dae0] (Names: '|':RootSlideView:0x12c7d470 )>",
"<NSLayoutConstraint:0x12c66b40 V:[WJFormLabel:0x12c64830]-(>=1)-| (Names: '|':RootSlideView:0x12c437a0 )>",
"<NSLayoutConstraint:0x12c66ac0 V:[WJFormLabel:0x12c64830(>=40)]>",
"<NSLayoutConstraint:0x12c66a80 V:[WJFormLabel:0x12c630f0]-(1)-[WJFormLabel:0x12c64830]>",
"<NSLayoutConstraint:0x12c669e0 V:[WJFormLabel:0x12c617b0]-(1)-[WJFormLabel:0x12c630f0]>",
"<NSLayoutConstraint:0x12c669a0 V:[WJFormLabel:0x12c617b0(>=40)]>",
"<NSLayoutConstraint:0x12c66960 V:[WJFormLabel:0x12c453c0]-(1)-[WJFormLabel:0x12c617b0]>",
"<NSLayoutConstraint:0x12c66920 V:[WJFormLabel:0x12c453c0(>=40)]>",
"<NSLayoutConstraint:0x12c668d0 V:[WJFormLabel:0x12c44970]-(0)-[WJFormLabel:0x12c453c0]>",
"<NSLayoutConstraint:0x12c66a40 V:[WJFormLabel:0x12c630f0(>=40)]>",
"<NSLayoutConstraint:0x12c66870 V:[WJFormLabel:0x12c44970(>=40)]>",
"<NSLayoutConstraint:0x12c66810 V:|-(0)-[WJFormLabel:0x12c44970] (Names: '|':RootSlideView:0x12c437a0 )>",
"<NSLayoutConstraint:0x12ce5730 V:[UITextView:0x139bbe00]-(1)-[UIView:0x12cd4da0]>",
"<NSLayoutConstraint:0x12ce5870 V:[UIView:0x12cd4da0]-(0)-[WJFormLabel:0x12cd4ec0]>",
"<NSLayoutConstraint:0x12ce58b0 V:[WJFormLabel:0x12cd4ec0]-(0)-[UITextView:0x139b9000]>",
"<NSLayoutConstraint:0x12ce5930 V:[UITextView:0x139b9000]-(1)-[UIView:0x12cd9b70]>",
"<NSLayoutConstraint:0x12ce5970 V:[UIView:0x12cd9b70(>=8)]>",
"<NSLayoutConstraint:0x12ce59b0 V:[UIView:0x12cd9b70]-(0)-[WJFormLabel:0x12cd9df0]>",
"<NSLayoutConstraint:0x12ce59f0 V:[WJFormLabel:0x12cd9df0(>=40)]>",
"<NSLayoutConstraint:0x12ce5a30 V:[WJFormLabel:0x12cd9df0]-(0)-[UITextView:0x139bda00]>",
"<NSLayoutConstraint:0x12ce5a70 V:[UITextView:0x139bda00(>=80)]>",
"<NSLayoutConstraint:0x12ce5ab0 V:[UITextView:0x139bda00]-(1)-[UIView:0x12cdeb00]>",
"<NSLayoutConstraint:0x12ce5b30 V:[UIView:0x12cdeb00]-(0)-[WJFormLabel:0x12cdec20]>",
"<NSLayoutConstraint:0x12ce5b70 V:[WJFormLabel:0x12cdec20(>=40)]>",
"<NSLayoutConstraint:0x12ce5bb0 V:[WJFormLabel:0x12cdec20]-(0)-[UITextView:0x139be600]>",
"<NSLayoutConstraint:0x12ce5bf0 V:[UITextView:0x139be600(>=80)]>",
"<NSLayoutConstraint:0x12ce5c30 V:[UITextView:0x139be600]-(>=1)-| (Names: '|':RootSlideView:0x12cb2710 )>",
"<NSLayoutConstraint:0x12c38ac0 V:[UILabel:0x12c38f30(38)]>",
"<NSLayoutConstraint:0xb439740 V:[UILabel:0x12c38f30]-(20)-[RootSlideView:0x12c437a0]>",
"<NSLayoutConstraint:0xb430d30 V:[RootSlideView:0x12cb2710]-(NSSpace(20))-| (Names: '|':UIView:0x12c38ed0 )>",
"<NSLayoutConstraint:0xb436270 V:[RootSlideView:0x12c8c6a0]-(NSSpace(8))-[RootSlideView:0x12cb2710]>",
"<NSLayoutConstraint:0xb436230 V:[RootSlideView:0x12c7d470]-(NSSpace(8))-[RootSlideView:0x12c8c6a0]>",
"<NSLayoutConstraint:0x99ab610 V:[RootSlideView:0x12c437a0]-(NSSpace(8))-[RootSlideView:0x12c7d470]>",
"<NSLayoutConstraint:0x12c39110 V:|-(0)-[UILabel:0x12c38f30] (Names: '|':UIView:0x12c38ed0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x99786c0 h=--& v=--& V:[TPKeyboardAvoidingScrollView:0x13983a00(748)]>",
"<NSAutoresizingMaskLayoutConstraint:0x994d8c0 h=-&- v=-&- UIView:0x12c38ed0.height == TPKeyboardAvoidingScrollView:0x13983a00.height>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x12ce5ab0 V:[UITextView:0x139bda00]-(1)-[UIView:0x12cdeb00]>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment