Я пытаюсь загрузить изображение в низком разрешении в виде прокрутки и после первого увеличения заменить его изображением в высоком разрешении. Первая попытка прошла не очень хорошо. Чтобы лучше понять, что происходит, я сейчас пытаюсь загрузить изображение в высоком разрешении и заменить его тем же изображением в высоком разрешении после первого увеличения, то есть установить статус-кво. На мой взгляд, у меня есть:
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"LargeImage.png"]];
[scrollView addSubview:imageView];
scrollView.contentSize = imageView.bounds.size;
scrollView.minimumZoomScale = 1.0;
scrollView.minimumZoomScale = 0.25;
scrollView.zoomScale = 0.251497;
scrollView.clipsToBounds = YES;
scrollView.delegate = self;
Это дает:
imageView.frame.size = 420 580 (кадр вида прокрутки)
imageView.bounds.size = 1670,2306
В scrollViewDidEndZooming: я делаю:
[imageView removeFromSuperview];
[imageView release];
scrollView.zoomScale = 1.0;
CGRect svb = CGRectZero;
svb.size = scrollView.frame.size;
scrollView.bounds = svb;
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"LargeImage.png"]];
[scrollView addSubview:imageView];
scrollView.contentSize = imageView.bounds.size;
scrollView.maximumZoomScale = 1.0;
scrollView.minimumZoomScale = 0.25;
scrollView.zoomScale = 0.251497;
Это дает:
imageView.frame.size = 1670,2306
imageView.bounds.size = 1670,2306
Я не могу понять, почему imageView.frame не масштабируется, как в viewDidLoad. Любая идея о том, что я делаю неправильно или отсутствует?