Большой UIImage не уменьшается в кадре Scroll View - PullRequest
0 голосов
/ 19 июля 2011

Кажется, я не могу использовать свойство UIViewContentModeScaleAspectFit для масштабирования моего imageView в моем scrollview, чтобы соответствовать размеру scrollview.

- (void)loadView {
UIImage* image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.moilum.com/images/atomicongallery/setmenu/setmenu1.jpg"]]];
imageView = [[UIImageView alloc]initWithImage:image];
    imageView.contentMode = UIViewContentModeScaleAspectFit;
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
UIScrollView* scrollView = [[UIScrollView alloc]initWithFrame:applicationFrame];
[scrollView addSubview:imageView];
scrollView.contentSize = image.size;
scrollView.minimumZoomScale = 0.3;
scrollView.maximumZoomScale = 3.0;
scrollView.clipsToBounds = NO;
scrollView.delegate = self;
self.view = scrollView;

}

я пробовал imageView.contentMode = UIViewContentModeScaleAspectFill какЧто ж.scrollView.contentmode = UIViewContentModeScaleAspectFill также.Все, кажется, не работает: (

любой выход!?

Ура!

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

UIScrollView не будет корректировать свой zoomScale, если вы не реализуете метод - (UIView *)viewForZoomingInScrollView:(UIScrollView *)sView в UIScrollViewDelegate.

Примерно так

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)sView 
{
  NSArray *subViews = [sView subviews];
  if([subViews count] > 0){
     return [subViews objectAtIndex:0];
  }
  return nil;
}

(но, очевидно, не устанавливается делегату всех тоже работает.)

0 голосов
/ 26 июля 2011

Вы пробовали,

-(void)loadView
{
      CGRect frame = CGRectMake(0, 0, scrollView.frame.size.width, scrolllView.frame.size.height);
      imageView = [[UIImageView alloc] initWithFrame:frame];
      imageView.image = [UIImage imageNamed:@"yourimage.png"];
      imageView.contentMode = UIViewContentModeScaleAspectFit;
      [scrollView addSubView:imageView];
      scrollView.contentSize = CGSizeMake( imageView.frame.size.width, imageView.frame.size.height);
 }

Я пишу этот код со своего iPad, я думаю, что это должно работать, Дайте мне знать, если у вас есть какие-либо проблемы.

Удачи.

...