Question: I created a UIView programatically and add NSLayoutConstraint to it and it works and then add it as a subView of view controller's view. Right now I need to remove this view from superview and some time later add it again. But the layout won't work any more if I add it again using `self.view addSubview`. How to make the layout works again?

Answer: 
The problem is the sub view does not inherit the original view's size/frame, and therefore adds the view as if it was stuck in the Any+Any size of 600x600. My solution, is to set the frame of the original view, and then let iOS do the remainder of the work.

```
[self.myOtherView setFrame:self.view.frame];   //Replace frame size with already resized view
[self.myOtherView setNeedsLayout];  //Tell iOS to autolayout the new sub view
[self.addSubView:self.myOtherView];  //Add it

```
When you create constraints assign it to variables 

```
@property (nonatomic, strong)NSLayoutConstraint *viewConstraintTop;
self.viewConstraintTop = [Your Constraint];

```

When you want to remove it from the superview remove the constraints

```
[self.viewConstraintTop autoRemove];

```

Remove your view and again while adding assign the constraint as 

```
self.viewConstraintTop = [Your Constraint];

```