Search code examples
iosobjective-cautolayoutnslayoutconstraintvisual-format-language

NSLayoutConstrain - Will attempt to recover by breaking constraint - Programmatically Creating Constraints


It runs fine and nothing is wrong except that I receive this error.

Screenshot

Below is my code.

NSDictionary *views = @{@"container":self.containerView,
                        @"head":self.headImageView,
                        @"userName":self.userNameLabel,
                        @"userTitle":self.userTitleLabel,
                        @"line":self.infoSeparatorLine,
                        @"articleTitle":self.articleTitleLabel
                        };

float headWidthAndHeight = 50;
NSDictionary *metrics = @{@"headWH":@(headWidthAndHeight),
                        @"userLabelWH":@(headWidthAndHeight/2),
                        };

[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[container]|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[container]|" options:0 metrics:nil views:views]];


[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[head(headWH)]-5-[userName]-15-|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[head(headWH)]-5-[userTitle]-15-|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[line]|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[articleTitle]-15-|" options:0 metrics:metrics views:views]];


[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[head(headWH)]-0-[line(1)]-8-[articleTitle]|" options:0 metrics:metrics views:views]];
[self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[userName(userLabelWH)]-0-[userTitle(userLabelWH)]" options:0 metrics:metrics views:views]];

Below is the error message I receive in the debug area.

Screenshot

How do I fix it?


Solution

  • [self.containerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[head(headWH)]-0-[line(1)]-8@999-[articleTitle]|" options:0 metrics:metrics views:views]];
    

    Change priority below 1000 for broken constraint.