画像コンテンツ ビューを含むスクロール ビューが必要です。画像は実際には画面よりもはるかに大きい地図です。iPhone を横向きにすると、写真アプリの写真のように、マップは最初はスクロール ビューの中央にあるはずです。
正しいズームとスクロールを同時に行って、マップを中央に配置することができませんでした。マップ イメージが画面の上部 (縦向き) から始まる場合、コードは次のようになります。
- (void)loadView {
mapView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map.jpg"]];
CGFloat mapHeight = MAP_HEIGHT * SCREEN_WIDTH / MAP_WIDTH;
mapView.frame = CGRectMake(0, 0, SCREEN_WIDTH, mapHeight);
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
scrollView.delegate = self;
scrollView.contentSize = mapView.frame.size;
scrollView.maximumZoomScale = MAP_WIDTH / SCREEN_WIDTH;
scrollView.minimumZoomScale = 1;
[scrollView addSubview:mapView];
self.view = scrollView;
}
画像フレームを中央に移動すると、画像はフレームの上から下にのみ成長します。imageViewのフレームを動的に変更して、mapView変換をいじってみました。これまでのところ、何もうまくいきません。