UIViewController 内に UIScrollView があります。スクロールとズームが有効になっています。これには UIImageView が含まれており、ユーザーがデバイスを回転させると、イメージは中央に配置されたままになります。問題は、デバイスを回転させると、本来あるべき中央ではなく左側にずれて表示されることです。これが私が使用しているコードです。UIScrollView が回転すると、セット フレームが呼び出されます。
-(void)setFrame:(CGRect)frame {
float previousWidth = self.frame.size.width;
float newWidth = frame.size.width;
[super setFrame:frame];
self.imageView.center = CGPointMake(self.bounds.size.width / 2, self.bounds.size.height / 2);
[self setupScales];
self.zoomScale = self.zoomScale * (newWidth / previousWidth);
}