I faced with strange behaviour of auto layout and storyboard. I have view controller in storyboard with child view (let's say panel) and I have following constraints: height = 500, width = 300 and centreX = parent.centreX added with Interface Builder.
When I run following piece of code I see two different values and I don't understand how additional +50 points appeared:
- (void)viewDidLoad
{
[super viewDidLoad];
for (NSLayoutConstraint *constraint in _view.constraints)
{
NSLog(@"did load: %@", constraint);
}
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
for (NSLayoutConstraint *constraint in _view.constraints)
{
NSLog(@"did appear: %@", constraint);
}
}
When view did load I see height constraint with value = 500 but when view controller did appear I see height constraint with value = 550. Constraint objects are the same so it looks like UIKit updated height constraint value for some reason. Also I don't see any warnings or errors in console.