What happens with constraints when a view is removed
autolayout, ios, nslayoutconstraint
Solution
The constraints are removed. If you add A again, you will have to make new constraints for it, or if you save the constraints before you remove A, you can add them back. When I do something like this, I save the constraints like this for a view called view1:
self.portraitConstraints = [NSMutableArray new];
for (NSLayoutConstraint *con in self.view.constraints) {
if (con.firstItem == self.view1 || con.secondItem == self.view1) {
[self.portraitConstraints addObject:con];
}
}
Problem
The question I have is simple but I couldn't find any information in the documentation. What happens with layout constraints when a view is removed from the view hierarchy (or moved to another view)? For example, let's have container `C` with subviews `A` and `B`. Container `C` holds some constraints. Then we call `[A removeFromSuperview]`. What happens with the constraints for `A`? What then happens if we add `A` to `C` again?