How To Handle UIImage on device rotation
<p>I have a UIScrollView with a UIImage inside. The following code initializes the image properly (it's width is the same as the width of the scrollView):</p>

<pre><code>// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];

    ...

    imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map1.jpg"]];
    imageView.userInteractionEnabled = YES;
    imageView.autoresizingMask = ( UIViewAutoresizingFlexibleWidth );
    [imageScrollView addSubview:imageView];

    imageScrollView.contentSize = [imageView frame].size;

    ...

    // calculate minimum scale to perfectly fit image width, and begin at that scale
    float minimumScale = [imageScrollView frame].size.width  / [imageView frame].size.width;
    //imageScrollView.maximumZoomScale = 1.0;
    imageScrollView.minimumZoomScale = minimumScale;
    imageScrollView.zoomScale = minimumScale;
}
</code></pre>

<p>What I want to do is to set the size to perfectly fit (like above) when the device rotates. Here's what I've tried to do:</p>

<pre><code>- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
  float newScale = [imageScrollView frame].size.width  / [imageView frame].size.width;
  imageScrollView.zoomScale = newScale;
}
</code></pre>

<p>For some reasons this doesn't work at all. The only way that I was able to make it work was to initialize another UIImage and do all the initialization process again, which doesn't feel right to me.</p>
