Hiding the view doesn't remove the constraints. You have to remove view B1 from its superview, insert B2 and then add constraints pinning B2 to the views above and below it.
If you don't want to remove the view altogether, you can store the constraints linking each B* view to the views above and below it in properties, and then when you switch out the views, remove and add the appropriate constraints to the superview.