I have a test app that uses a custom container controller to switch between 2 child view controllers based on the orientation of the device. In the portraitController, I have a button and a slider — after one rotation to landscape and back to portrait, the slider still works but the button doesn’t. After one more back and forth, both UI elements stop responding to touches.
Meanwhile, in the landscapeController, the button works fine for the first 6 times you switch to that controller, but on the 7th, the button only responds on the far left side, and on the 8th, it no longer responds at all.
The views look fine after the rotations — everything stays in the right place. There’s no methods connected to these UI elements I’m just seeing if they are responsive to touch. I have strong references to both child view controllers, so I am presenting the same instance on each rotation. I can post the code for the container controller if it would help.
Does anyone know what’s going on here?
I found the answer after much experimenting — the “Autoresize Subviews” check box in the container controller’s view needs to be deselected. I’m not sure what that does exactly, but it was inappropriately resizing the views of the child controllers.