Я хотел бы иметь представление прокрутки с представлением содержимого изображения. Изображение на самом деле карта, которая намного больше, чем экран. Сначала карта должна находиться в центре представления с прокруткой, как фотографии в приложении «Фотографии», когда вы переключаете 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;
}
Когда я перемещаю рамку изображения в центр, изображение увеличивается только сверху вниз. Я попытался поиграться с преобразованием mapView, с динамически меняющимся кадром imageView. Пока у меня ничего не работает.