Move frame code to viewWillLayoutSubviews so that we don't change the view after it is already visible