A multiplier of 0 or a nil second item together with a location for the first attribute creates
an illegal constraint of a location equal to a constant. Location attributes must be specified in
pairs.
OR
[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]:
A multiplier of 0 or a nil second item together with a location for the first attribute creates an illegal constraint of a location equal to a constant. Location attributes must be specified in pairs'While working with iOS 8.3, I found a independent bug which is generate when you are going to user Auto layout manually. If you construct layout constraints manually. e.g.
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self.view1attribute:NSLayoutAttributeRightrelatedBy:NSLayoutRelationEqualtoItem:self.view2attribute:NSLayoutAttributeLeft
multiplier:1constant:0];
Under iOS 8.3, if you also link against the 8.3 SDK,
NSLayoutConstraint has gotten a little pickier. If you accidentally pass
in nil for the second view, and that contradicts the the attribute
being specified, you’ll now get an exception. Previous OS releases
appear to have quietly ignored this transgression on your code’s part.