My app consists of 2 screen (main and settings) both are filled with scrollview completely. Each has one view controller and is supposed to support landscape and portrait orientations. I’m using Autosizing to achieve that and it works fairly well (all elements are where they should be, size is also correct) but I’m getting strange artifacts when the screen is rotated e.g. picker frame remains the same when the actual “drum” area inside is resized properly, text field is partially overlapped by background, landscape graph remains in place and is overlapped by portrait graph.
All are just basic elements without modifications, there are no images or anything special (graph is exception, I’m reloading it in didRotateFromInterfaceOrientation:). Any ideas why would that happen, why aren’t the basic elements redrawn properly?
Figured it out myself in the end. Had to implement workaround as iOS apparently can’t do it itself.
1) Artefacts after automatic view resize. Solution here was to hide the view before changing orientation, reload the graph and show it again after orientation was changed. Doesn’t look perfect but much better than before.
2) Other problems were caused by the pickerview. Autoresize apparently doesn’t work at all. The solution here was create UIView instead of the picker which resizes without problem and again recreate the pickerview every time the orientation changes.