iphone uiscrollview и uiimageview - установка начального увеличения - PullRequest
7 голосов
/ 21 апреля 2010

Я использую следующий код для загрузки изображения в виде прокрутки. Изображение всегда загружается с увеличением 100%. Есть ли способ установить его для загрузки на другой уровень масштабирования, скажем .37?

Я пробовал scrollView.zoomScale = .37, но, похоже, он не работает

UIImageView *tempImage = [[UIImageView alloc]initWithImage:[UIImage imageWithData:data]];
        self.imageView = tempImage;

        scrollView.contentSize = CGSizeMake(imageView.frame.size.width , imageView.frame.size.height);
        scrollView.maximumZoomScale = 1;
        scrollView.minimumZoomScale = .37;
        scrollView.clipsToBounds = YES;
        scrollView.delegate = self;

        [scrollView addSubview:imageView];

Ответы [ 5 ]

18 голосов
/ 21 апреля 2010

Масштабирование работает только при реализации обратного вызова делегата viewForZoomingInScrollView:.

-(UIView *) viewForZoomingInScrollView:(UIScrollView *)inScroll {
  return imageView;
}
13 голосов
/ 21 апреля 2010

Я понял это ... Я использовал scrollView.zoomScale = 0.37; прежде чем я загрузил изображение изменил код, и он прекрасно работает.

UIImageView *tempImage = [[UIImageView alloc]initWithImage:[UIImage imageWithData:data]];
self.imageView = tempImage;

scrollView.contentSize = CGSizeMake(imageView.frame.size.width , imageView.frame.size.height);
scrollView.maximumZoomScale = 1;
scrollView.minimumZoomScale = .37;
scrollView.clipsToBounds = YES;
scrollView.delegate = self;
[scrollView addSubview:imageView];
scrollView.zoomScale = .37;
3 голосов
/ 21 апреля 2010

Существует zoomScale свойство , которое вы можете установить.

1 голос
/ 21 октября 2014

Я столкнулся с той же проблемой ..
Я использовал встроенный метод: scrollViewForImage

Это установит начальный масштаб на уровень 5

[self.scrollViewForImage setZoomScale:5 animated:YES];

код для минимального уровня масштабирования

self.scrollViewForImage.minimumZoomScale=1;

код для максимального уровня масштабирования

self.scrollViewForImage.maximumZoomScale=12.0;

Надеюсь, это поможет

0 голосов
/ 30 марта 2014

Вы должны установить начальный масштаб при просмотре, а не при загрузке просмотра.

...