This gist contains a list of mistakes I've made or seen people make in the past. These are my opinions, so don't treat them as facts. If you disagree with anything you see here, please let me know.
[-[UIView layoutSubview]
][layoutSubviews] is a method that is responsible for adjusting the positions of subviews after something caused the existing layout to be invalidated. There can be various reasons for this. For example, the bounds of the view may have changed or some code may have called [-[UIView setNeedsLayout]
][setNeedsLayout]. The point is, regardless of why this method got called, this method gets called a lot. Its only purpose is adjusting the layout of the view to match the new conditions. It is not for adding new subviews to a view.