setFrame is only called when autoResizingMasks are used. Changed to layoutSubviews as this is called when using constraints too.