Я пытаюсь увеличить изображение UIImage, чтобы увидеть как можно больше фотографий, не показывая пустое пространство. Таким образом, в портретном изображении я хочу увеличить изображение так, чтобы короткая сторона изображения полностью помещалась на экране. Весь следующий код находится в viewDidLoad
.
У меня есть UIImageView
и UIScrollView
, настроенные следующим образом:
self.scrollView.delegate = self;
self.scrollView.contentSize = self.imageView.image.size;
self.imageView.frame = CGRectMake(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);
На данный момент масштабирование и прокрутка в пределах UIScrollView
работает отлично.
Затем я реализую if-else
, чтобы, когда картинка была выше, чем широкая, я звонила:
[self.scrollview zoomToRect:CGRectMake(0, 0, IMAGE_WIDTH, 1)];
Это работает отлично. Ширина изображения заполняет ширину экрана, и я могу только прокручивать вверх и вниз.
Но когда я вызываю точно такую же функцию для высоты:
[self.scrollview zoomToRect:CGRectMake(0, 0, 1, IMAGE_HEIGHT)];
Ничего! Нет масштабирования вообще, как если бы функция никогда не вызывалась. Но я установил точку останова и прошел по коду в отладчике, и все было вызвано идеально, даже сама функция CGRectMake
. Что происходит?